Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Tests\Prophecy\Doubler\Generator;${"\x47\x4c\x4fBAL\x53"}["\x71p\x75\x77\x..
Decoded Output download
<?php namespace Tests\Prophecy\Doubler\Generator;${"GLOBALS"}["qpuwqwdqae"]="prophet";${"GLOBALS"}["ivgbwbs"]="method";${"GLOBALS"}["xseydvkqmwr"]="arguments";${"GLOBALS"}["wzrngmmiks"]="argNodes";${"GLOBALS"}["rtmycbp"]="methodNode";${"GLOBALS"}["cwqmdcaklyg"]="methodNodes";${"GLOBALS"}["xtmooltjcl"]="classNode";${"GLOBALS"}["rchcmvdp"]="node";${"GLOBALS"}["jlwncuzfmnbj"]="mirror";${"GLOBALS"}["iaifqctg"]="class";use Fixtures\Prophecy\SelfReferencing;use PHPUnit\Framework\TestCase;use Prophecy\Doubler\Generator\ClassMirror;use Prophecy\Doubler\Generator\Node\ArgumentTypeNode;use Prophecy\Doubler\Generator\Node\ReturnTypeNode;use Prophecy\Exception\Doubler\ClassMirrorException;use Prophecy\Exception\InvalidArgumentException;use Prophecy\Prophet;class ClassMirrorTest extends TestCase{public function it_reflects_allowed_magic_methods(){$sagmwzvl="class";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\Prophecy\SpecialMethods");${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${${"GLOBALS"}["rchcmvdp"]}=$mirror->reflect(${$sagmwzvl},array());$this->assertCount(7,$node->getMethods());}public function it_reflects_protected_abstract_methods(){${"GLOBALS"}["fcvbprmvhjn"]="mirror";$ayuhooi="methodNodes";${"GLOBALS"}["idlasox"]="class";${"GLOBALS"}["svryrkfdtt"]="methodNodes";${"GLOBALS"}["puqhmebbqdn"]="classNode";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\\Prophecy\\WithProtectedAbstractMethod");${${"GLOBALS"}["fcvbprmvhjn"]}=new ClassMirror();$rtqlagrboxpj="methodNodes";${${"GLOBALS"}["puqhmebbqdn"]}=$mirror->reflect(${${"GLOBALS"}["idlasox"]},array());$this->assertEquals("Fixtures\Prophecy\\WithProtectedAbstractMethod",$classNode->getParentClass());${$rtqlagrboxpj}=$classNode->getMethods();$this->assertCount(1,${$ayuhooi});$this->assertEquals("protected",${${"GLOBALS"}["svryrkfdtt"]}["innerDetail"]->getVisibility());}public function it_reflects_public_static_methods(){${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\\Prophecy\WithStaticMethod");${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${"GLOBALS"}["vqudmiarkpx"]="class";${"GLOBALS"}["wcydgubv"]="methodNodes";${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(${${"GLOBALS"}["vqudmiarkpx"]},array());${"GLOBALS"}["xlfnduy"]="methodNodes";$this->assertEquals("Fixtures\\Prophecy\\WithStaticMethod",$classNode->getParentClass());${${"GLOBALS"}["cwqmdcaklyg"]}=$classNode->getMethods();$this->assertCount(1,${${"GLOBALS"}["xlfnduy"]});$this->assertTrue(${${"GLOBALS"}["wcydgubv"]}["innerDetail"]->isStatic());}public function it_marks_required_args_without_types_as_not_optional(){$mnwjtpe="argNodes";${"GLOBALS"}["rhwqqfc"]="argNodes";$xbclmumqyk="class";$frgxcobvnlt="argNodes";$fhhijblt="argNodes";$umbepkfrkl="class";${$umbepkfrkl}=new\ReflectionClass("Fixtures\\Prophecy\\WithArguments");$zqszohc="classNode";${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${$zqszohc}=$mirror->reflect(${$xbclmumqyk},array());${${"GLOBALS"}["rtmycbp"]}=$classNode->getMethod("methodWithoutTypeHints");$jnvyvve="argNodes";${$frgxcobvnlt}=$methodNode->getArguments();$this->assertCount(1,${$fhhijblt});$this->assertEquals("arg",${$jnvyvve}[0]->getName());$this->assertEquals(new ArgumentTypeNode(),${${"GLOBALS"}["wzrngmmiks"]}[0]->getTypeNode());$this->assertFalse(${$mnwjtpe}[0]->isOptional());$this->assertNull(${${"GLOBALS"}["wzrngmmiks"]}[0]->getDefault());$this->assertFalse(${${"GLOBALS"}["wzrngmmiks"]}[0]->isPassedByReference());$this->assertFalse(${${"GLOBALS"}["rhwqqfc"]}[0]->isVariadic());}public function it_properly_reads_methods_arguments_with_types(){$fqajyfnsvz="class";${"GLOBALS"}["iqbrrdqyy"]="argNodes";${"GLOBALS"}["pplwmqspokv"]="class";$lqecihdj="methodNode";${"GLOBALS"}["uoiutu"]="argNodes";${"GLOBALS"}["lulfmot"]="classNode";$lyomcrzjmtmc="mirror";${$fqajyfnsvz}=new\ReflectionClass("Fixtures\Prophecy\WithArguments");$nssnyddvlon="argNodes";${$lyomcrzjmtmc}=new ClassMirror();${${"GLOBALS"}["lulfmot"]}=$mirror->reflect(${${"GLOBALS"}["pplwmqspokv"]},array());${$lqecihdj}=$classNode->getMethod("methodWithArgs");${${"GLOBALS"}["wzrngmmiks"]}=$methodNode->getArguments();$this->assertCount(3,${${"GLOBALS"}["wzrngmmiks"]});$this->assertEquals("arg_1",${${"GLOBALS"}["iqbrrdqyy"]}[0]->getName());$zvlhynkrlvx="argNodes";$this->assertEquals(new ArgumentTypeNode("ArrayAccess"),${${"GLOBALS"}["wzrngmmiks"]}[0]->getTypeNode());$this->assertFalse(${${"GLOBALS"}["wzrngmmiks"]}[0]->isOptional());$this->assertEquals("arg_2",${${"GLOBALS"}["wzrngmmiks"]}[1]->getName());${"GLOBALS"}["oknfslnfl"]="argNodes";${"GLOBALS"}["mumiyphq"]="argNodes";$this->assertEquals(new ArgumentTypeNode("array"),${${"GLOBALS"}["wzrngmmiks"]}[1]->getTypeNode());$this->assertTrue(${${"GLOBALS"}["mumiyphq"]}[1]->isOptional());$this->assertEquals(array(),${${"GLOBALS"}["wzrngmmiks"]}[1]->getDefault());$this->assertFalse(${${"GLOBALS"}["uoiutu"]}[1]->isPassedByReference());$this->assertFalse(${${"GLOBALS"}["oknfslnfl"]}[1]->isVariadic());$this->assertEquals("arg_3",${${"GLOBALS"}["wzrngmmiks"]}[2]->getName());$this->assertEquals(new ArgumentTypeNode("ArrayAccess","null"),${${"GLOBALS"}["wzrngmmiks"]}[2]->getTypeNode());${"GLOBALS"}["tsukowjq"]="argNodes";$this->assertTrue(${${"GLOBALS"}["tsukowjq"]}[2]->isOptional());$this->assertNull(${$zvlhynkrlvx}[2]->getDefault());$this->assertFalse(${${"GLOBALS"}["wzrngmmiks"]}[2]->isPassedByReference());$this->assertFalse(${$nssnyddvlon}[2]->isVariadic());}public function it_properly_reads_methods_arguments_with_callable_types(){$shrmewtw="argNodes";$rzydjvck="class";${"GLOBALS"}["zrxedwyuewj"]="methodNode";${$rzydjvck}=new\ReflectionClass("Fixtures\Prophecy\WithCallableArgument");${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${"GLOBALS"}["noulbqvn"]="argNodes";${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(${${"GLOBALS"}["iaifqctg"]},array());${${"GLOBALS"}["zrxedwyuewj"]}=$classNode->getMethod("methodWithArgs");$rmaifwyih="argNodes";${$rmaifwyih}=$methodNode->getArguments();$this->assertCount(2,${${"GLOBALS"}["wzrngmmiks"]});${"GLOBALS"}["wmnjafm"]="argNodes";$this->assertEquals("arg_1",${${"GLOBALS"}["wzrngmmiks"]}[0]->getName());$this->assertEquals(new ArgumentTypeNode("callable"),${${"GLOBALS"}["wmnjafm"]}[0]->getTypeNode());$this->assertFalse(${${"GLOBALS"}["noulbqvn"]}[0]->isOptional());$this->assertFalse(${$shrmewtw}[0]->isPassedByReference());$this->assertFalse(${${"GLOBALS"}["wzrngmmiks"]}[0]->isVariadic());$this->assertEquals("arg_2",${${"GLOBALS"}["wzrngmmiks"]}[1]->getName());$this->assertEquals(new ArgumentTypeNode("callable","null"),${${"GLOBALS"}["wzrngmmiks"]}[1]->getTypeNode());$this->assertTrue(${${"GLOBALS"}["wzrngmmiks"]}[1]->isOptional());$this->assertNull(${${"GLOBALS"}["wzrngmmiks"]}[1]->getDefault());$this->assertFalse(${${"GLOBALS"}["wzrngmmiks"]}[1]->isPassedByReference());$this->assertFalse(${${"GLOBALS"}["wzrngmmiks"]}[1]->isVariadic());}public function it_properly_reads_methods_variadic_arguments(){${"GLOBALS"}["hbuvjee"]="methodNode";${"GLOBALS"}["bcxggjxrzwy"]="classNode";$wmxojvutf="argNodes";$tyughnwjbdh="class";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\\Prophecy\WithVariadicArgument");$vyzdiyoadt="argNodes";$aswjmpojn="argNodes";${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${${"GLOBALS"}["bcxggjxrzwy"]}=$mirror->reflect(${$tyughnwjbdh},array());$jgvuntsdrp="argNodes";$ddmtdlw="argNodes";${${"GLOBALS"}["hbuvjee"]}=$classNode->getMethod("methodWithArgs");${$aswjmpojn}=$methodNode->getArguments();$this->assertCount(1,${${"GLOBALS"}["wzrngmmiks"]});$this->assertEquals("args",${${"GLOBALS"}["wzrngmmiks"]}[0]->getName());$this->assertEquals(new ArgumentTypeNode(),${$vyzdiyoadt}[0]->getTypeNode());$this->assertFalse(${$wmxojvutf}[0]->isOptional());$this->assertFalse(${$jgvuntsdrp}[0]->isPassedByReference());$this->assertTrue(${$ddmtdlw}[0]->isVariadic());}public function it_properly_reads_methods_typehinted_variadic_arguments(){${"GLOBALS"}["bdfggtsoy"]="mirror";${"GLOBALS"}["egaxkfvive"]="class";${"GLOBALS"}["gmvxukp"]="argNodes";$nqavrjwkz="methodNode";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\\Prophecy\WithTypehintedVariadicArgument");${${"GLOBALS"}["bdfggtsoy"]}=new ClassMirror();${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(${${"GLOBALS"}["egaxkfvive"]},array());${$nqavrjwkz}=$classNode->getMethod("methodWithTypeHintedArgs");$lplpgu="argNodes";${${"GLOBALS"}["gmvxukp"]}=$methodNode->getArguments();$this->assertCount(1,${${"GLOBALS"}["wzrngmmiks"]});$this->assertEquals("args",${${"GLOBALS"}["wzrngmmiks"]}[0]->getName());$this->assertEquals(new ArgumentTypeNode("array"),${${"GLOBALS"}["wzrngmmiks"]}[0]->getTypeNode());$this->assertFalse(${$lplpgu}[0]->isOptional());$this->assertFalse(${${"GLOBALS"}["wzrngmmiks"]}[0]->isPassedByReference());$this->assertTrue(${${"GLOBALS"}["wzrngmmiks"]}[0]->isVariadic());}public function it_marks_passed_by_reference_args_as_passed_by_reference(){${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\\Prophecy\WithReferences");${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(${${"GLOBALS"}["iaifqctg"]},array());$this->assertTrue($classNode->hasMethod("methodWithReferenceArgument"));${${"GLOBALS"}["wzrngmmiks"]}=$classNode->getMethod("methodWithReferenceArgument")->getArguments();$this->assertCount(2,${${"GLOBALS"}["wzrngmmiks"]});$this->assertTrue(${${"GLOBALS"}["wzrngmmiks"]}[0]->isPassedByReference());$this->assertTrue(${${"GLOBALS"}["wzrngmmiks"]}[1]->isPassedByReference());}public function it_throws_an_exception_if_class_is_final(){$qjwhugoaoz="class";${"GLOBALS"}["vnuoocr"]="mirror";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\Prophecy\FinalClass");${${"GLOBALS"}["vnuoocr"]}=new ClassMirror();$this->expectException(ClassMirrorException::class);$mirror->reflect(${$qjwhugoaoz},array());}public function it_ignores_final_methods(){$iohnbugzooq="mirror";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\\Prophecy\WithFinalMethod");${"GLOBALS"}["ycrkfsawrb"]="class";${$iohnbugzooq}=new ClassMirror();${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(${${"GLOBALS"}["ycrkfsawrb"]},array());$this->assertCount(0,$classNode->getMethods());}public function it_marks_final_methods_as_unextendable(){${"GLOBALS"}["cfdffwtdjfhj"]="classNode";${"GLOBALS"}["npacvgdqubnx"]="class";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\Prophecy\\WithFinalMethod");${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${${"GLOBALS"}["cfdffwtdjfhj"]}=$mirror->reflect(${${"GLOBALS"}["npacvgdqubnx"]},array());$this->assertCount(1,$classNode->getUnextendableMethods());$this->assertFalse($classNode->isExtendable("finalImplementation"));}public function it_throws_an_exception_if_interface_provided_instead_of_class(){$aqixzl="class";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\\Prophecy\EmptyInterface");$nibksyggakvw="mirror";${$nibksyggakvw}=new ClassMirror();$this->expectException(InvalidArgumentException::class);$mirror->reflect(${$aqixzl},array());}public function it_reflects_all_interfaces_methods(){${"GLOBALS"}["vahnkl"]="mirror";${${"GLOBALS"}["vahnkl"]}=new ClassMirror();${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(null,array(new\ReflectionClass("Fixtures\Prophecy\Named"),new\ReflectionClass("Fixtures\\Prophecy\\ModifierInterface"),));$this->assertEquals("stdClass",$classNode->getParentClass());$this->assertEquals(array("Prophecy\Doubler\Generator\ReflectionInterface","Fixtures\Prophecy\\ModifierInterface","Fixtures\Prophecy\\Named",),$classNode->getInterfaces());$this->assertCount(3,$classNode->getMethods());$this->assertTrue($classNode->hasMethod("getName"));$this->assertTrue($classNode->hasMethod("isAbstract"));$this->assertTrue($classNode->hasMethod("getVisibility"));}public function it_ignores_virtually_private_methods(){$wvkcbyfki="class";${"GLOBALS"}["shygrqmud"]="mirror";${$wvkcbyfki}=new\ReflectionClass("Fixtures\\Prophecy\\WithVirtuallyPrivateMethod");${${"GLOBALS"}["shygrqmud"]}=new ClassMirror();${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(${${"GLOBALS"}["iaifqctg"]},array());$this->assertCount(2,$classNode->getMethods());$this->assertTrue($classNode->hasMethod("isAbstract"));$this->assertTrue($classNode->hasMethod("__toString"));$this->assertFalse($classNode->hasMethod("_getName"));}public function it_does_not_throw_exception_for_virtually_private_finals(){$jvhgewntesk="classNode";$zpwtfu="class";${${"GLOBALS"}["iaifqctg"]}=new\ReflectionClass("Fixtures\Prophecy\\WithFinalVirtuallyPrivateMethod");${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${$jvhgewntesk}=$mirror->reflect(${$zpwtfu},array());$this->assertCount(0,$classNode->getMethods());}public function it_reflects_return_typehints(){$vmoahmxfwgg="class";${$vmoahmxfwgg}=new\ReflectionClass("Fixtures\\Prophecy\\WithReturnTypehints");${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(${${"GLOBALS"}["iaifqctg"]},array());$this->assertCount(3,$classNode->getMethods());$this->assertTrue($classNode->hasMethod("getName"));$this->assertTrue($classNode->hasMethod("getSelf"));$this->assertTrue($classNode->hasMethod("getParent"));$this->assertEquals(new ReturnTypeNode("string"),$classNode->getMethod("getName")->getReturnTypeNode());$this->assertEquals(new ReturnTypeNode("\Fixtures\Prophecy\WithReturnTypehints"),$classNode->getMethod("getSelf")->getReturnTypeNode());$this->assertEquals(new ReturnTypeNode("\Fixtures\Prophecy\\EmptyClass"),$classNode->getMethod("getParent")->getReturnTypeNode());}public function it_throws_an_exception_if_class_provided_in_interfaces_list(){${"GLOBALS"}["rlxuhcguhk"]="class";${"GLOBALS"}["zljnmwnqi"]="mirror";${${"GLOBALS"}["rlxuhcguhk"]}=new\ReflectionClass("Fixtures\Prophecy\EmptyClass");${${"GLOBALS"}["zljnmwnqi"]}=new ClassMirror();$this->expectException(\InvalidArgumentException::class);$mirror->reflect(null,array(${${"GLOBALS"}["iaifqctg"]}));}public function it_throws_an_exception_if_not_reflection_provided_as_interface(){${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();$this->expectException(\InvalidArgumentException::class);$mirror->reflect(null,array(null));}public function it_doesnt_use_scalar_typehints(){${"GLOBALS"}["ptbotysr"]="arguments";$jrlltzer="mirror";if(PHP_VERSION_ID>=80000){$this->markTestSkipped("Internal types have scalar hints in PHP 8");}${"GLOBALS"}["krmlqknp"]="method";${"GLOBALS"}["pghrsfkji"]="classNode";${$jrlltzer}=new ClassMirror();$sraezzjywd="arguments";${"GLOBALS"}["ufspiicgqw"]="arguments";${${"GLOBALS"}["pghrsfkji"]}=$mirror->reflect(new\ReflectionClass("ReflectionMethod"),array());${${"GLOBALS"}["krmlqknp"]}=$classNode->getMethod("export");${${"GLOBALS"}["xseydvkqmwr"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode(),${$sraezzjywd}[0]->getTypeNode());$this->assertEquals(new ArgumentTypeNode(),${${"GLOBALS"}["ufspiicgqw"]}[1]->getTypeNode());$this->assertEquals(new ArgumentTypeNode(),${${"GLOBALS"}["ptbotysr"]}[2]->getTypeNode());}public function it_doesnt_fail_to_typehint_nonexistent_FQCN(){$vsldyjyslb="arguments";${"GLOBALS"}["mdlydchpmg"]="classNode";${${"GLOBALS"}["jlwncuzfmnbj"]}=new ClassMirror();${${"GLOBALS"}["mdlydchpmg"]}=$mirror->reflect(new\ReflectionClass("Fixtures\Prophecy\\OptionalDepsClass"),array());${${"GLOBALS"}["ivgbwbs"]}=$classNode->getMethod("iHaveAStrangeTypeHintedArg");${${"GLOBALS"}["xseydvkqmwr"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("I\Simply\\Am\\Nonexistent"),${$vsldyjyslb}[0]->getTypeNode());}public function it_doesnt_fail_on_array_nullable_parameter_with_not_null_default_value(){$dpujvnmq="mirror";${$dpujvnmq}=new ClassMirror();${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(new\ReflectionClass("Fixtures\\Prophecy\NullableArrayParameter"),array());${${"GLOBALS"}["ivgbwbs"]}=$classNode->getMethod("iHaveNullableArrayParameterWithNotNullDefaultValue");${${"GLOBALS"}["xseydvkqmwr"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("array","null"),${${"GLOBALS"}["xseydvkqmwr"]}[0]->getTypeNode());}public function it_doesnt_fail_to_typehint_nonexistent_RQCN(){$frppkbq="classNode";${"GLOBALS"}["swpxirivy"]="mirror";${"GLOBALS"}["ewfxsj"]="arguments";${${"GLOBALS"}["swpxirivy"]}=new ClassMirror();${$frppkbq}=$mirror->reflect(new\ReflectionClass("Fixtures\\Prophecy\OptionalDepsClass"),array());${${"GLOBALS"}["ivgbwbs"]}=$classNode->getMethod("iHaveAnEvenStrangerTypeHintedArg");${${"GLOBALS"}["xseydvkqmwr"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("I\\Simply\\Am\\Not"),${${"GLOBALS"}["ewfxsj"]}[0]->getTypeNode());}function it_doesnt_fail_when_method_is_extended_with_more_params(){${"GLOBALS"}["ohnbknpl"]="mirror";${"GLOBALS"}["pzjxnzttij"]="method";${${"GLOBALS"}["ohnbknpl"]}=new ClassMirror();${${"GLOBALS"}["xtmooltjcl"]}=$mirror->reflect(new\ReflectionClass("Fixtures\\Prophecy\\MethodWithAdditionalParam"),array(new\ReflectionClass("Fixtures\Prophecy\\Named")));${${"GLOBALS"}["ivgbwbs"]}=$classNode->getMethod("getName");$this->assertCount(1,$method->getArguments());${${"GLOBALS"}["pzjxnzttij"]}=$classNode->getMethod("methodWithoutTypeHints");$this->assertCount(2,$method->getArguments());}function it_doesnt_fail_to_mock_self_referencing_interface(){$fiejxd="mirror";${"GLOBALS"}["pizinpox"]="method";${"GLOBALS"}["fehzgwy"]="classNode";${$fiejxd}=new ClassMirror();${${"GLOBALS"}["fehzgwy"]}=$mirror->reflect(null,array(new\ReflectionClass(SelfReferencing::class)));${${"GLOBALS"}["pizinpox"]}=$classNode->getMethod("__invoke");$this->assertCount(1,$method->getArguments());$this->assertEquals(new ArgumentTypeNode(SelfReferencing::class),$method->getArguments()[0]->getTypeNode());$this->assertEquals(new ReturnTypeNode(SelfReferencing::class),$method->getReturnTypeNode());}function it_changes_argument_names_if_they_are_varying(){${"GLOBALS"}["vzpkcdcjyf"]="parameter";${"GLOBALS"}["jolhbqzdfbi"]="mirror";${"GLOBALS"}["eqmxwyeqgng"]="parameter";$fxldbb="argumentNodes";${${"GLOBALS"}["qpuwqwdqae"]}=new Prophet();${${"GLOBALS"}["iaifqctg"]}=$prophet->prophesize("ReflectionClass");${${"GLOBALS"}["ivgbwbs"]}=$prophet->prophesize("ReflectionMethod");${"GLOBALS"}["megtts"]="method";${${"GLOBALS"}["vzpkcdcjyf"]}=$prophet->prophesize("ReflectionParameter");if(PHP_VERSION_ID>=80200){$class->isReadOnly()->willReturn(false);}${"GLOBALS"}["hwtokjg"]="argumentNode";$class->getName()->willReturn("Custom\ClassName");$class->isInterface()->willReturn(false);$class->isFinal()->willReturn(false);${"GLOBALS"}["tdnlltdtbgpb"]="argumentNodes";$class->getMethods(\ReflectionMethod::IS_PUBLIC)->willReturn(array(${${"GLOBALS"}["megtts"]}));$dwjccxto="class";$class->getMethods(\ReflectionMethod::IS_ABSTRACT)->willReturn(array());$method->getParameters()->willReturn(array(${${"GLOBALS"}["eqmxwyeqgng"]}));$method->getName()->willReturn("methodName");$method->isFinal()->willReturn(false);$method->isProtected()->willReturn(false);$method->isStatic()->willReturn(false);$method->returnsReference()->willReturn(false);$method->hasReturnType()->willReturn(false);$irogjslgwy="classNode";$method->getDeclaringClass()->willReturn(${$dwjccxto});if(\PHP_VERSION_ID>=80100){$method->hasTentativeReturnType()->willReturn(false);}$parameter->getName()->willReturn("...");$parameter->isDefaultValueAvailable()->willReturn(true);$parameter->getDefaultValue()->willReturn(null);$parameter->isPassedByReference()->willReturn(false);$parameter->allowsNull()->willReturn(true);$parameter->getClass()->willReturn(${${"GLOBALS"}["iaifqctg"]});$parameter->getType()->willReturn(null);$parameter->hasType()->willReturn(false);$parameter->isVariadic()->willReturn(false);${${"GLOBALS"}["jolhbqzdfbi"]}=new ClassMirror();${$irogjslgwy}=$mirror->reflect($class->reveal(),array());${${"GLOBALS"}["cwqmdcaklyg"]}=$classNode->getMethods();${${"GLOBALS"}["tdnlltdtbgpb"]}=${${"GLOBALS"}["cwqmdcaklyg"]}["methodName"]->getArguments();${${"GLOBALS"}["hwtokjg"]}=${$fxldbb}[0];$this->assertEquals("__dot_dot_dot__",$argumentNode->getName());}public function it_can_double_a_class_with_union_return_types(){${"GLOBALS"}["ccmkvjasoru"]="methodNode";if(PHP_VERSION_ID<80000){$this->markTestSkipped("Union types are not supported in this PHP version");}${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\\UnionReturnTypes"),[]);${${"GLOBALS"}["ccmkvjasoru"]}=$classNode->getMethods()["doSomething"];$this->assertSame(["\\stdClass","bool"],$methodNode->getReturnTypeNode()->getTypes());}public function it_can_double_a_class_with_union_return_type_with_false(){${"GLOBALS"}["wslqpetn"]="classNode";$jhokzzyhd="methodNode";if(PHP_VERSION_ID<80000){$this->markTestSkipped("Union types with false are not supported in this PHP version");}${${"GLOBALS"}["wslqpetn"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\\UnionReturnTypeFalse"),[]);${$jhokzzyhd}=$classNode->getMethods()["method"];$this->assertSame(["\stdClass","false"],$methodNode->getReturnTypeNode()->getTypes());}public function it_can_double_a_class_with_union_argument_types(){if(PHP_VERSION_ID<80000){$this->markTestSkipped("Union types are not supported in this PHP version");}${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\\UnionArgumentTypes"),[]);${${"GLOBALS"}["rtmycbp"]}=$classNode->getMethods()["doSomething"];$this->assertEquals(new ArgumentTypeNode("bool","\stdClass"),$methodNode->getArguments()[0]->getTypeNode());}public function it_can_double_a_class_with_union_argument_type_with_false(){if(PHP_VERSION_ID<80000){$this->markTestSkipped("Union types with false are not supported in this PHP version");}${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\UnionArgumentTypeFalse"),[]);${${"GLOBALS"}["rtmycbp"]}=$classNode->getMethods()["method"];$this->assertEquals(new ArgumentTypeNode("false","\stdClass"),$methodNode->getArguments()[0]->getTypeNode());}public function it_can_double_a_class_with_mixed_types(){if(PHP_VERSION_ID<80000){$this->markTestSkipped("Mixed type is not supported in this PHP version");}${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\MixedTypes"),[]);${${"GLOBALS"}["rtmycbp"]}=$classNode->getMethods()["doSomething"];$this->assertEquals(new ArgumentTypeNode("mixed"),$methodNode->getArguments()[0]->getTypeNode());$this->assertEquals(new ReturnTypeNode("mixed"),$methodNode->getReturnTypeNode());}public function it_can_double_inherited_self_return_type(){${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\ClassExtendAbstractWithMethodWithReturnType"),[]);${${"GLOBALS"}["rtmycbp"]}=$classNode->getMethods()["returnSelf"];$this->assertEquals(new ReturnTypeNode("Fixtures\\Prophecy\\AbstractBaseClassWithMethodWithReturnType"),$methodNode->getReturnTypeNode());}public function it_can_double_never_return_type(){$jzvlswku="classNode";if(PHP_VERSION_ID<80100){$this->markTestSkipped("Never type is not supported in this PHP version");}${$jzvlswku}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\\NeverType"),[]);${"GLOBALS"}["sojopyzxxki"]="methodNode";${${"GLOBALS"}["sojopyzxxki"]}=$classNode->getMethods()["doSomething"];$this->assertEquals(new ReturnTypeNode("never"),$methodNode->getReturnTypeNode());}public function it_can_not_double_an_enum(){if(PHP_VERSION_ID<80100){$this->markTestSkipped("Enums are not supported in this PHP version");}$this->expectException(ClassMirrorException::class);${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\\Enum"),[]);}public function it_can_not_double_intersection_return_types(){if(PHP_VERSION_ID<80100){$this->markTestSkipped("Intersection types are not supported in this PHP version");}$this->expectException(ClassMirrorException::class);${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\IntersectionReturnType"),[]);}public function it_can_not_double_intersection_argument_types(){$remvnprvqf="classNode";if(PHP_VERSION_ID<80100){$this->markTestSkipped("Intersection types are not supported in this PHP version");}$this->expectException(ClassMirrorException::class);${$remvnprvqf}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\IntersectionArgumentType"),[]);}public function it_can_double_a_standalone_return_type_of_false(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("Standalone return type of false is not supported in this PHP version");}${"GLOBALS"}["niplpwd"]="methodNode";${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\\StandaloneReturnTypeFalse"),[]);${${"GLOBALS"}["niplpwd"]}=$classNode->getMethods()["method"];$this->assertEquals(new ReturnTypeNode("false"),$methodNode->getReturnTypeNode());}public function it_can_double_a_standalone_parameter_type_of_false(){${"GLOBALS"}["eyxkivroxlj"]="arguments";$qotsjqvf="classNode";if(PHP_VERSION_ID<80200){$this->markTestSkipped("Standalone parameter type of false is not supported in this PHP version");}${$qotsjqvf}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\\StandaloneParameterTypeFalse"),[]);${${"GLOBALS"}["ivgbwbs"]}=$classNode->getMethod("method");${${"GLOBALS"}["xseydvkqmwr"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("false"),${${"GLOBALS"}["eyxkivroxlj"]}[0]->getTypeNode());}public function it_can_double_a_nullable_return_type_of_false(){$mhfeqlxr="methodNode";$bfyjysnjhyo="classNode";if(PHP_VERSION_ID<80200){$this->markTestSkipped("Nullable return type of false is not supported in this PHP version");}${$bfyjysnjhyo}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\\NullableReturnTypeFalse"),[]);${$mhfeqlxr}=$classNode->getMethods()["method"];$this->assertEquals(new ReturnTypeNode("null","false"),$methodNode->getReturnTypeNode());}public function it_can_double_a_nullable_parameter_type_of_false(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("Nullable parameter type of false is not supported in this PHP version");}$wbndpekkvut="arguments";${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\\NullableParameterTypeFalse"),[]);${${"GLOBALS"}["ivgbwbs"]}=$classNode->getMethod("method");${$wbndpekkvut}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("null","false"),${${"GLOBALS"}["xseydvkqmwr"]}[0]->getTypeNode());}public function it_can_not_double_dnf_intersection_argument_types(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("DNF intersection types are not supported in this PHP version");}$this->expectException(ClassMirrorException::class);${"GLOBALS"}["ndnnfabxem"]="classNode";${${"GLOBALS"}["ndnnfabxem"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\DnfArgumentType"),[]);}public function it_can_not_double_dnf_intersection_return_types(){${"GLOBALS"}["bpjfysmlqcre"]="classNode";if(PHP_VERSION_ID<80200){$this->markTestSkipped("DNF intersection types are not supported in this PHP version");}$this->expectException(ClassMirrorException::class);${${"GLOBALS"}["bpjfysmlqcre"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\\DnfReturnType"),[]);}public function it_can_double_a_standalone_return_type_of_true(){${"GLOBALS"}["suvhbrk"]="classNode";if(PHP_VERSION_ID<80200){$this->markTestSkipped("Standalone return type of true is not supported in this PHP version");}${${"GLOBALS"}["suvhbrk"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\StandaloneReturnTypeTrue"),[]);$tpkrferjkys="methodNode";${$tpkrferjkys}=$classNode->getMethods()["method"];$this->assertEquals(new ReturnTypeNode("true"),$methodNode->getReturnTypeNode());}public function it_reflects_non_read_only_class(){${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\EmptyClass"),[]);$this->assertFalse($classNode->isReadOnly());}public function it_can_double_a_standalone_parameter_type_of_true(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("Standalone parameter type of true is not supported in this PHP version");}$zvdytreqh="arguments";${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\StandaloneParameterTypeTrue"),[]);${${"GLOBALS"}["ivgbwbs"]}=$classNode->getMethod("method");${$zvdytreqh}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("true"),${${"GLOBALS"}["xseydvkqmwr"]}[0]->getTypeNode());}public function it_can_double_a_nullable_return_type_of_true(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("Nullable return type of true is not supported in this PHP version");}$inkpmu="methodNode";${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\NullableReturnTypeTrue"),[]);${$inkpmu}=$classNode->getMethods()["method"];$this->assertEquals(new ReturnTypeNode("null","true"),$methodNode->getReturnTypeNode());}public function it_can_double_a_nullable_parameter_type_of_true(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("Nullable parameter type of true is not supported in this PHP version");}${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\\Prophecy\NullableParameterTypeTrue"),[]);${"GLOBALS"}["rcooinif"]="method";${${"GLOBALS"}["rcooinif"]}=$classNode->getMethod("method");${${"GLOBALS"}["xseydvkqmwr"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("null","true"),${${"GLOBALS"}["xseydvkqmwr"]}[0]->getTypeNode());}public function it_can_double_a_standalone_return_type_of_null(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("Standalone return type of null is not supported in this PHP version");}$eopndhtr="methodNode";${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\\StandaloneReturnTypeNull"),[]);${$eopndhtr}=$classNode->getMethods()["method"];$this->assertEquals(new ReturnTypeNode("null"),$methodNode->getReturnTypeNode());}public function it_can_double_a_standalone_parameter_type_of_null(){${"GLOBALS"}["nnagwdvlm"]="method";$kpyqrxyd="arguments";if(PHP_VERSION_ID<80200){$this->markTestSkipped("Standalone parameter type of null is not supported in this PHP version");}${${"GLOBALS"}["xtmooltjcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\StandaloneParameterTypeNull"),[]);${${"GLOBALS"}["nnagwdvlm"]}=$classNode->getMethod("method");${"GLOBALS"}["iqtoxsripj"]="arguments";${$kpyqrxyd}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("null"),${${"GLOBALS"}["iqtoxsripj"]}[0]->getTypeNode());}public function it_reflects_read_only_class(){$akisrqjrjws="classNode";if(PHP_VERSION_ID<80200){$this->markTestSkipped("Read only classes are not supported in this PHP version");}${$akisrqjrjws}=(new ClassMirror())->reflect(new\ReflectionClass("Fixtures\Prophecy\ReadOnlyClass"),[]);$this->assertTrue($classNode->isReadOnly());}}
?>
Did this file decode correctly?
Original Code
<?php namespace Tests\Prophecy\Doubler\Generator;${"\x47\x4c\x4fBAL\x53"}["\x71p\x75\x77\x71wdq\x61e"]="\x70\x72\x6f\x70\x68\x65\x74";${"G\x4c\x4f\x42\x41L\x53"}["\x69\x76gb\x77b\x73"]="\x6d\x65\x74h\x6f\x64";${"G\x4c\x4fB\x41L\x53"}["\x78s\x65\x79\x64\x76\x6b\x71m\x77\x72"]="\x61\x72g\x75\x6de\x6e\x74s";${"\x47L\x4f\x42A\x4c\x53"}["\x77zr\x6e\x67\x6d\x6di\x6bs"]="\x61\x72\x67N\x6f\x64e\x73";${"\x47\x4cOBA\x4c\x53"}["\x72\x74\x6dyc\x62\x70"]="\x6d\x65\x74ho\x64N\x6f\x64\x65";${"\x47LO\x42\x41\x4cS"}["\x63\x77q\x6d\x64\x63\x61\x6b\x6c\x79g"]="\x6de\x74\x68\x6f\x64N\x6f\x64e\x73";${"G\x4c\x4fB\x41L\x53"}["x\x74\x6d\x6f\x6fl\x74\x6a\x63\x6c"]="\x63l\x61ss\x4e\x6f\x64e";${"\x47\x4c\x4fBALS"}["\x72c\x68\x63mvd\x70"]="\x6eo\x64\x65";${"\x47\x4cOBA\x4c\x53"}["\x6a\x6c\x77n\x63\x75\x7a\x66m\x6e\x62j"]="\x6dirr\x6f\x72";${"\x47LO\x42A\x4c\x53"}["i\x61\x69f\x71\x63tg"]="\x63las\x73";use Fixtures\Prophecy\SelfReferencing;use PHPUnit\Framework\TestCase;use Prophecy\Doubler\Generator\ClassMirror;use Prophecy\Doubler\Generator\Node\ArgumentTypeNode;use Prophecy\Doubler\Generator\Node\ReturnTypeNode;use Prophecy\Exception\Doubler\ClassMirrorException;use Prophecy\Exception\InvalidArgumentException;use Prophecy\Prophet;class ClassMirrorTest extends TestCase{public function it_reflects_allowed_magic_methods(){$sagmwzvl="c\x6c\x61\x73\x73";${${"G\x4c\x4f\x42ALS"}["\x69ai\x66\x71\x63tg"]}=new\ReflectionClass("Fix\x74u\x72\x65\x73\x5cProp\x68ecy\x5c\x53p\x65\x63ial\x4d\x65\x74\x68\x6f\x64s");${${"G\x4cO\x42\x41\x4c\x53"}["j\x6c\x77n\x63\x75\x7a\x66\x6d\x6e\x62j"]}=new ClassMirror();${${"\x47\x4c\x4fBAL\x53"}["r\x63\x68\x63\x6d\x76d\x70"]}=$mirror->reflect(${$sagmwzvl},array());$this->assertCount(7,$node->getMethods());}public function it_reflects_protected_abstract_methods(){${"\x47L\x4f\x42\x41LS"}["f\x63\x76\x62pr\x6dv\x68\x6an"]="\x6di\x72\x72\x6fr";$ayuhooi="\x6d\x65\x74\x68\x6f\x64\x4e\x6f\x64\x65\x73";${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x69\x64\x6ca\x73\x6f\x78"]="c\x6c\x61\x73\x73";${"\x47\x4c\x4fBA\x4c\x53"}["s\x76r\x79\x72\x6b\x66\x64tt"]="\x6de\x74\x68\x6fd\x4e\x6f\x64\x65\x73";${"G\x4c\x4f\x42\x41\x4cS"}["\x70u\x71h\x6de\x62\x62\x71\x64n"]="\x63la\x73\x73No\x64\x65";${${"GLO\x42\x41\x4c\x53"}["i\x61\x69f\x71ctg"]}=new\ReflectionClass("\x46\x69\x78\x74\x75r\x65s\\\x50\x72op\x68\x65\x63\x79\\\x57\x69thPr\x6ft\x65\x63tedAb\x73\x74r\x61\x63t\x4de\x74hod");${${"\x47\x4c\x4f\x42A\x4cS"}["\x66c\x76\x62p\x72\x6d\x76\x68\x6a\x6e"]}=new ClassMirror();$rtqlagrboxpj="\x6d\x65t\x68o\x64\x4e\x6fdes";${${"\x47\x4cO\x42\x41L\x53"}["\x70\x75\x71\x68\x6d\x65b\x62qd\x6e"]}=$mirror->reflect(${${"\x47L\x4f\x42\x41\x4c\x53"}["i\x64las\x6f\x78"]},array());$this->assertEquals("\x46ix\x74ures\x5cP\x72op\x68ec\x79\\W\x69thP\x72o\x74\x65\x63te\x64Abstr\x61c\x74\x4de\x74h\x6f\x64",$classNode->getParentClass());${$rtqlagrboxpj}=$classNode->getMethods();$this->assertCount(1,${$ayuhooi});$this->assertEquals("p\x72\x6f\x74\x65c\x74e\x64",${${"\x47\x4cO\x42\x41LS"}["\x73\x76\x72\x79\x72\x6bf\x64\x74t"]}["i\x6en\x65r\x44\x65t\x61i\x6c"]->getVisibility());}public function it_reflects_public_static_methods(){${${"G\x4c\x4f\x42A\x4c\x53"}["i\x61\x69\x66qct\x67"]}=new\ReflectionClass("\x46i\x78tures\\\x50ro\x70hecy\x5c\x57it\x68\x53\x74at\x69\x63Method");${${"\x47\x4c\x4f\x42\x41L\x53"}["\x6a\x6c\x77\x6e\x63uz\x66\x6dn\x62j"]}=new ClassMirror();${"G\x4cOBA\x4cS"}["\x76\x71\x75\x64m\x69\x61r\x6b\x70x"]="c\x6c\x61\x73\x73";${"\x47L\x4fBA\x4cS"}["\x77c\x79d\x67\x75\x62\x76"]="me\x74ho\x64\x4eo\x64\x65\x73";${${"\x47\x4cO\x42\x41L\x53"}["\x78\x74\x6do\x6fl\x74\x6acl"]}=$mirror->reflect(${${"\x47L\x4f\x42A\x4c\x53"}["\x76\x71ud\x6d\x69\x61\x72kpx"]},array());${"\x47L\x4fBA\x4cS"}["\x78\x6cfn\x64\x75\x79"]="\x6dethod\x4e\x6f\x64e\x73";$this->assertEquals("\x46ixtur\x65\x73\\Pro\x70he\x63y\\With\x53\x74at\x69c\x4de\x74\x68od",$classNode->getParentClass());${${"G\x4cO\x42A\x4c\x53"}["\x63\x77\x71m\x64\x63\x61\x6b\x6cy\x67"]}=$classNode->getMethods();$this->assertCount(1,${${"\x47L\x4fB\x41L\x53"}["xlfn\x64\x75\x79"]});$this->assertTrue(${${"\x47\x4cO\x42\x41LS"}["w\x63\x79d\x67\x75\x62\x76"]}["i\x6e\x6ee\x72\x44et\x61i\x6c"]->isStatic());}public function it_marks_required_args_without_types_as_not_optional(){$mnwjtpe="a\x72\x67N\x6f\x64\x65\x73";${"\x47\x4cO\x42A\x4cS"}["rh\x77\x71\x71\x66\x63"]="a\x72g\x4eo\x64\x65\x73";$xbclmumqyk="\x63\x6c\x61\x73\x73";$frgxcobvnlt="a\x72\x67N\x6f\x64\x65\x73";$fhhijblt="a\x72gNo\x64\x65s";$umbepkfrkl="\x63\x6c\x61\x73s";${$umbepkfrkl}=new\ReflectionClass("\x46\x69x\x74\x75r\x65\x73\\\x50\x72o\x70hec\x79\\Wi\x74hArg\x75me\x6e\x74\x73");$zqszohc="\x63\x6c\x61\x73\x73N\x6fd\x65";${${"\x47LOB\x41\x4cS"}["\x6a\x6c\x77\x6e\x63\x75zf\x6d\x6e\x62j"]}=new ClassMirror();${$zqszohc}=$mirror->reflect(${$xbclmumqyk},array());${${"\x47\x4c\x4f\x42\x41\x4cS"}["\x72\x74\x6d\x79\x63b\x70"]}=$classNode->getMethod("me\x74\x68\x6fd\x57\x69thoutT\x79peHints");$jnvyvve="\x61\x72\x67\x4eo\x64\x65\x73";${$frgxcobvnlt}=$methodNode->getArguments();$this->assertCount(1,${$fhhijblt});$this->assertEquals("a\x72\x67",${$jnvyvve}[0]->getName());$this->assertEquals(new ArgumentTypeNode(),${${"\x47LO\x42\x41L\x53"}["\x77z\x72\x6eg\x6dm\x69k\x73"]}[0]->getTypeNode());$this->assertFalse(${$mnwjtpe}[0]->isOptional());$this->assertNull(${${"G\x4c\x4f\x42A\x4c\x53"}["w\x7a\x72\x6e\x67\x6dm\x69ks"]}[0]->getDefault());$this->assertFalse(${${"\x47LOB\x41\x4c\x53"}["\x77\x7a\x72\x6eg\x6dm\x69k\x73"]}[0]->isPassedByReference());$this->assertFalse(${${"G\x4c\x4fBAL\x53"}["\x72\x68\x77\x71\x71\x66\x63"]}[0]->isVariadic());}public function it_properly_reads_methods_arguments_with_types(){$fqajyfnsvz="cl\x61ss";${"\x47\x4cO\x42A\x4c\x53"}["\x69\x71br\x72d\x71\x79\x79"]="\x61\x72\x67N\x6f\x64\x65s";${"GLOBALS"}["\x70\x70l\x77\x6d\x71\x73p\x6fkv"]="c\x6c\x61\x73\x73";$lqecihdj="m\x65\x74\x68od\x4eo\x64\x65";${"\x47LO\x42\x41L\x53"}["\x75\x6f\x69\x75\x74\x75"]="\x61rgNodes";${"\x47L\x4f\x42A\x4c\x53"}["l\x75\x6c\x66\x6d\x6ft"]="\x63\x6ca\x73\x73\x4eo\x64\x65";$lyomcrzjmtmc="\x6d\x69\x72\x72o\x72";${$fqajyfnsvz}=new\ReflectionClass("\x46\x69\x78t\x75\x72es\x5c\x50r\x6fp\x68\x65cy\x5cWith\x41\x72\x67u\x6dent\x73");$nssnyddvlon="a\x72g\x4e\x6fd\x65\x73";${$lyomcrzjmtmc}=new ClassMirror();${${"\x47\x4cO\x42A\x4c\x53"}["\x6cu\x6cf\x6d\x6f\x74"]}=$mirror->reflect(${${"G\x4cOB\x41L\x53"}["\x70\x70l\x77\x6d\x71sp\x6fk\x76"]},array());${$lqecihdj}=$classNode->getMethod("m\x65\x74hodWit\x68\x41r\x67\x73");${${"G\x4c\x4fB\x41\x4c\x53"}["\x77zr\x6e\x67m\x6d\x69\x6b\x73"]}=$methodNode->getArguments();$this->assertCount(3,${${"\x47\x4cO\x42\x41L\x53"}["\x77\x7a\x72\x6e\x67m\x6di\x6bs"]});$this->assertEquals("ar\x67_1",${${"\x47\x4c\x4fB\x41L\x53"}["\x69\x71br\x72\x64\x71y\x79"]}[0]->getName());$zvlhynkrlvx="\x61\x72\x67\x4e\x6f\x64es";$this->assertEquals(new ArgumentTypeNode("\x41\x72rayA\x63cess"),${${"\x47\x4cOBA\x4c\x53"}["\x77z\x72n\x67\x6dm\x69\x6b\x73"]}[0]->getTypeNode());$this->assertFalse(${${"\x47\x4cO\x42\x41L\x53"}["\x77zrng\x6d\x6d\x69k\x73"]}[0]->isOptional());$this->assertEquals("a\x72g\x5f\x32",${${"\x47\x4c\x4fB\x41\x4cS"}["wz\x72\x6e\x67\x6dmi\x6b\x73"]}[1]->getName());${"GL\x4f\x42A\x4c\x53"}["\x6f\x6b\x6e\x66\x73\x6c\x6e\x66\x6c"]="\x61\x72\x67No\x64\x65s";${"\x47LO\x42AL\x53"}["m\x75m\x69y\x70\x68q"]="\x61\x72g\x4e\x6f\x64\x65s";$this->assertEquals(new ArgumentTypeNode("\x61rr\x61y"),${${"G\x4cOB\x41L\x53"}["wz\x72n\x67\x6dm\x69ks"]}[1]->getTypeNode());$this->assertTrue(${${"GL\x4fBAL\x53"}["mu\x6di\x79p\x68\x71"]}[1]->isOptional());$this->assertEquals(array(),${${"\x47\x4cOB\x41\x4c\x53"}["wz\x72ngm\x6di\x6bs"]}[1]->getDefault());$this->assertFalse(${${"\x47LO\x42\x41\x4cS"}["u\x6f\x69ut\x75"]}[1]->isPassedByReference());$this->assertFalse(${${"G\x4c\x4fBA\x4c\x53"}["\x6f\x6b\x6efs\x6c\x6ef\x6c"]}[1]->isVariadic());$this->assertEquals("ar\x67\x5f\x33",${${"\x47\x4c\x4fBA\x4c\x53"}["\x77\x7a\x72\x6eg\x6dm\x69\x6b\x73"]}[2]->getName());$this->assertEquals(new ArgumentTypeNode("\x41rrayAc\x63ess","\x6e\x75l\x6c"),${${"\x47\x4c\x4fB\x41\x4c\x53"}["\x77z\x72\x6e\x67\x6d\x6d\x69\x6b\x73"]}[2]->getTypeNode());${"GLO\x42\x41LS"}["ts\x75\x6bow\x6a\x71"]="\x61r\x67\x4e\x6fd\x65\x73";$this->assertTrue(${${"\x47\x4c\x4f\x42\x41\x4cS"}["\x74\x73\x75\x6b\x6fw\x6a\x71"]}[2]->isOptional());$this->assertNull(${$zvlhynkrlvx}[2]->getDefault());$this->assertFalse(${${"\x47\x4c\x4f\x42A\x4cS"}["\x77\x7a\x72\x6e\x67\x6dm\x69ks"]}[2]->isPassedByReference());$this->assertFalse(${$nssnyddvlon}[2]->isVariadic());}public function it_properly_reads_methods_arguments_with_callable_types(){$shrmewtw="arg\x4eo\x64es";$rzydjvck="c\x6cass";${"\x47\x4cOBA\x4c\x53"}["z\x72\x78e\x64\x77\x79u\x65w\x6a"]="m\x65\x74\x68o\x64N\x6f\x64e";${$rzydjvck}=new\ReflectionClass("\x46ixtu\x72es\x5c\x50roph\x65\x63\x79\x5cWi\x74h\x43\x61ll\x61b\x6ce\x41r\x67u\x6d\x65\x6e\x74");${${"GLO\x42A\x4c\x53"}["j\x6c\x77\x6e\x63u\x7af\x6d\x6e\x62j"]}=new ClassMirror();${"GL\x4fB\x41\x4c\x53"}["nou\x6c\x62qv\x6e"]="\x61\x72\x67\x4e\x6f\x64e\x73";${${"\x47\x4cOB\x41\x4cS"}["\x78\x74\x6doo\x6c\x74\x6a\x63\x6c"]}=$mirror->reflect(${${"\x47\x4c\x4f\x42A\x4c\x53"}["iai\x66\x71\x63\x74g"]},array());${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["z\x72\x78\x65\x64\x77y\x75ewj"]}=$classNode->getMethod("\x6det\x68\x6f\x64\x57i\x74\x68Ar\x67s");$rmaifwyih="\x61\x72\x67\x4eode\x73";${$rmaifwyih}=$methodNode->getArguments();$this->assertCount(2,${${"\x47\x4c\x4fB\x41L\x53"}["w\x7a\x72\x6e\x67\x6dmik\x73"]});${"\x47\x4c\x4f\x42AL\x53"}["\x77mn\x6a\x61f\x6d"]="a\x72\x67N\x6f\x64\x65s";$this->assertEquals("a\x72\x67_\x31",${${"G\x4c\x4f\x42A\x4cS"}["\x77\x7a\x72n\x67\x6d\x6d\x69k\x73"]}[0]->getName());$this->assertEquals(new ArgumentTypeNode("c\x61l\x6cab\x6ce"),${${"\x47\x4c\x4f\x42\x41\x4cS"}["w\x6d\x6eja\x66\x6d"]}[0]->getTypeNode());$this->assertFalse(${${"\x47\x4c\x4f\x42AL\x53"}["\x6e\x6f\x75\x6c\x62qv\x6e"]}[0]->isOptional());$this->assertFalse(${$shrmewtw}[0]->isPassedByReference());$this->assertFalse(${${"\x47LO\x42A\x4c\x53"}["\x77\x7a\x72\x6e\x67m\x6d\x69k\x73"]}[0]->isVariadic());$this->assertEquals("arg\x5f2",${${"GLOBAL\x53"}["\x77\x7a\x72ng\x6dm\x69k\x73"]}[1]->getName());$this->assertEquals(new ArgumentTypeNode("c\x61\x6c\x6c\x61bl\x65","n\x75ll"),${${"\x47\x4c\x4f\x42\x41L\x53"}["w\x7a\x72\x6e\x67\x6d\x6d\x69\x6bs"]}[1]->getTypeNode());$this->assertTrue(${${"GL\x4fBA\x4c\x53"}["\x77zrngm\x6d\x69\x6b\x73"]}[1]->isOptional());$this->assertNull(${${"\x47\x4c\x4fB\x41\x4cS"}["\x77zr\x6eg\x6d\x6d\x69\x6b\x73"]}[1]->getDefault());$this->assertFalse(${${"G\x4c\x4fBA\x4c\x53"}["\x77z\x72\x6e\x67\x6dm\x69\x6b\x73"]}[1]->isPassedByReference());$this->assertFalse(${${"\x47L\x4f\x42\x41\x4c\x53"}["\x77z\x72\x6e\x67\x6d\x6di\x6b\x73"]}[1]->isVariadic());}public function it_properly_reads_methods_variadic_arguments(){${"\x47\x4cOB\x41\x4cS"}["\x68b\x75v\x6ae\x65"]="\x6d\x65th\x6f\x64\x4eo\x64\x65";${"G\x4c\x4f\x42\x41\x4c\x53"}["bc\x78\x67\x67\x6axrz\x77y"]="c\x6c\x61\x73\x73No\x64e";$wmxojvutf="\x61r\x67\x4e\x6fd\x65\x73";$tyughnwjbdh="\x63\x6c\x61\x73\x73";${${"\x47\x4c\x4f\x42A\x4c\x53"}["i\x61i\x66\x71ctg"]}=new\ReflectionClass("\x46i\x78t\x75\x72e\x73\\\x50r\x6f\x70\x68ecy\x5cW\x69\x74\x68\x56\x61\x72\x69adicAr\x67\x75\x6d\x65n\x74");$vyzdiyoadt="ar\x67\x4e\x6f\x64e\x73";$aswjmpojn="a\x72\x67Nod\x65\x73";${${"GLOB\x41\x4c\x53"}["jl\x77\x6ecu\x7af\x6d\x6e\x62\x6a"]}=new ClassMirror();${${"\x47\x4c\x4fB\x41\x4cS"}["\x62\x63xg\x67\x6ax\x72\x7a\x77y"]}=$mirror->reflect(${$tyughnwjbdh},array());$jgvuntsdrp="a\x72g\x4e\x6fd\x65\x73";$ddmtdlw="a\x72g\x4eo\x64\x65\x73";${${"\x47L\x4f\x42\x41LS"}["\x68\x62\x75\x76je\x65"]}=$classNode->getMethod("\x6d\x65\x74\x68od\x57\x69t\x68\x41r\x67s");${$aswjmpojn}=$methodNode->getArguments();$this->assertCount(1,${${"\x47L\x4f\x42\x41L\x53"}["\x77\x7a\x72\x6e\x67\x6dm\x69k\x73"]});$this->assertEquals("\x61\x72g\x73",${${"G\x4c\x4f\x42AL\x53"}["w\x7ar\x6eg\x6dm\x69k\x73"]}[0]->getName());$this->assertEquals(new ArgumentTypeNode(),${$vyzdiyoadt}[0]->getTypeNode());$this->assertFalse(${$wmxojvutf}[0]->isOptional());$this->assertFalse(${$jgvuntsdrp}[0]->isPassedByReference());$this->assertTrue(${$ddmtdlw}[0]->isVariadic());}public function it_properly_reads_methods_typehinted_variadic_arguments(){${"GLOBALS"}["\x62\x64fg\x67\x74s\x6fy"]="mi\x72ro\x72";${"G\x4c\x4fB\x41\x4c\x53"}["\x65\x67\x61x\x6b\x66\x76\x69\x76e"]="c\x6c\x61s\x73";${"G\x4cOBA\x4c\x53"}["\x67m\x76\x78\x75\x6b\x70"]="\x61\x72g\x4eo\x64\x65\x73";$nqavrjwkz="m\x65\x74hod\x4e\x6f\x64\x65";${${"\x47\x4cO\x42\x41L\x53"}["\x69a\x69\x66\x71\x63t\x67"]}=new\ReflectionClass("\x46\x69xt\x75r\x65\x73\\\x50\x72\x6f\x70h\x65\x63y\x5c\x57i\x74h\x54ypeh\x69\x6e\x74\x65d\x56\x61r\x69\x61\x64icAr\x67\x75\x6d\x65\x6e\x74");${${"\x47L\x4fBA\x4c\x53"}["b\x64f\x67g\x74\x73o\x79"]}=new ClassMirror();${${"\x47\x4c\x4fBA\x4cS"}["\x78\x74m\x6f\x6f\x6c\x74\x6a\x63\x6c"]}=$mirror->reflect(${${"\x47LO\x42\x41L\x53"}["\x65\x67\x61\x78\x6b\x66v\x69\x76e"]},array());${$nqavrjwkz}=$classNode->getMethod("m\x65\x74\x68\x6f\x64\x57\x69\x74hTyp\x65H\x69\x6e\x74\x65\x64\x41\x72gs");$lplpgu="\x61\x72\x67\x4e\x6f\x64e\x73";${${"\x47\x4cOBAL\x53"}["g\x6d\x76\x78\x75k\x70"]}=$methodNode->getArguments();$this->assertCount(1,${${"G\x4cO\x42A\x4c\x53"}["w\x7a\x72n\x67\x6d\x6d\x69k\x73"]});$this->assertEquals("ar\x67\x73",${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x77zr\x6e\x67\x6dmi\x6b\x73"]}[0]->getName());$this->assertEquals(new ArgumentTypeNode("\x61\x72\x72\x61\x79"),${${"GL\x4fB\x41L\x53"}["wz\x72\x6e\x67\x6dm\x69\x6b\x73"]}[0]->getTypeNode());$this->assertFalse(${$lplpgu}[0]->isOptional());$this->assertFalse(${${"\x47L\x4f\x42A\x4c\x53"}["\x77\x7ar\x6e\x67m\x6di\x6b\x73"]}[0]->isPassedByReference());$this->assertTrue(${${"\x47\x4c\x4f\x42AL\x53"}["\x77\x7a\x72\x6e\x67\x6dm\x69k\x73"]}[0]->isVariadic());}public function it_marks_passed_by_reference_args_as_passed_by_reference(){${${"\x47\x4cO\x42\x41\x4cS"}["\x69\x61\x69\x66\x71\x63\x74\x67"]}=new\ReflectionClass("Fi\x78\x74ur\x65s\\Pr\x6fphec\x79\x5c\x57i\x74hRefe\x72\x65\x6eces");${${"\x47L\x4f\x42\x41\x4c\x53"}["\x6alw\x6ec\x75\x7a\x66\x6d\x6e\x62\x6a"]}=new ClassMirror();${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["xtmo\x6fl\x74\x6a\x63\x6c"]}=$mirror->reflect(${${"\x47\x4c\x4f\x42\x41LS"}["\x69\x61if\x71\x63\x74g"]},array());$this->assertTrue($classNode->hasMethod("m\x65th\x6f\x64With\x52efe\x72\x65nce\x41\x72gu\x6de\x6et"));${${"GL\x4f\x42A\x4cS"}["\x77z\x72\x6eg\x6d\x6d\x69ks"]}=$classNode->getMethod("\x6de\x74h\x6f\x64\x57\x69thRefere\x6ece\x41r\x67ume\x6et")->getArguments();$this->assertCount(2,${${"G\x4c\x4f\x42A\x4cS"}["\x77\x7a\x72ngmmi\x6bs"]});$this->assertTrue(${${"GLO\x42\x41\x4cS"}["wz\x72\x6e\x67\x6dm\x69ks"]}[0]->isPassedByReference());$this->assertTrue(${${"\x47L\x4fBA\x4cS"}["\x77z\x72n\x67\x6dmi\x6bs"]}[1]->isPassedByReference());}public function it_throws_an_exception_if_class_is_final(){$qjwhugoaoz="\x63\x6cas\x73";${"\x47\x4c\x4f\x42\x41\x4c\x53"}["v\x6eu\x6f\x6f\x63\x72"]="\x6d\x69r\x72\x6fr";${${"\x47\x4c\x4f\x42AL\x53"}["\x69\x61ifq\x63\x74g"]}=new\ReflectionClass("\x46ix\x74\x75\x72e\x73\x5cP\x72\x6f\x70\x68ec\x79\x5cFin\x61l\x43las\x73");${${"\x47\x4c\x4fB\x41\x4cS"}["\x76\x6eu\x6f\x6f\x63r"]}=new ClassMirror();$this->expectException(ClassMirrorException::class);$mirror->reflect(${$qjwhugoaoz},array());}public function it_ignores_final_methods(){$iohnbugzooq="m\x69r\x72\x6f\x72";${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x69\x61\x69\x66\x71\x63tg"]}=new\ReflectionClass("\x46i\x78\x74\x75\x72es\\Pr\x6f\x70\x68\x65\x63\x79\x5c\x57ith\x46in\x61\x6cMe\x74\x68\x6fd");${"\x47\x4c\x4fB\x41\x4c\x53"}["y\x63\x72\x6b\x66\x73a\x77\x72b"]="c\x6ca\x73\x73";${$iohnbugzooq}=new ClassMirror();${${"\x47\x4c\x4fBALS"}["\x78tm\x6f\x6flt\x6a\x63\x6c"]}=$mirror->reflect(${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["yc\x72k\x66\x73a\x77\x72\x62"]},array());$this->assertCount(0,$classNode->getMethods());}public function it_marks_final_methods_as_unextendable(){${"\x47\x4c\x4f\x42\x41\x4c\x53"}["cf\x64\x66f\x77\x74\x64\x6a\x66h\x6a"]="\x63\x6c\x61\x73\x73\x4e\x6f\x64\x65";${"G\x4c\x4f\x42A\x4cS"}["\x6e\x70\x61c\x76gd\x71u\x62n\x78"]="cla\x73s";${${"\x47LO\x42ALS"}["\x69a\x69f\x71\x63\x74g"]}=new\ReflectionClass("\x46\x69\x78t\x75\x72\x65\x73\x5c\x50r\x6fph\x65\x63y\\W\x69th\x46in\x61\x6cMet\x68\x6fd");${${"\x47\x4c\x4fB\x41LS"}["jlwn\x63uz\x66m\x6e\x62j"]}=new ClassMirror();${${"G\x4c\x4f\x42\x41\x4c\x53"}["\x63\x66\x64f\x66\x77\x74\x64\x6af\x68j"]}=$mirror->reflect(${${"\x47\x4c\x4f\x42\x41\x4cS"}["n\x70acv\x67\x64\x71\x75\x62\x6e\x78"]},array());$this->assertCount(1,$classNode->getUnextendableMethods());$this->assertFalse($classNode->isExtendable("f\x69\x6ealI\x6dp\x6c\x65men\x74at\x69on"));}public function it_throws_an_exception_if_interface_provided_instead_of_class(){$aqixzl="c\x6c\x61\x73s";${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["iaif\x71\x63\x74\x67"]}=new\ReflectionClass("\x46\x69\x78t\x75\x72es\\\x50\x72\x6f\x70h\x65\x63\x79\x5cE\x6d\x70t\x79\x49\x6e\x74er\x66\x61\x63\x65");$nibksyggakvw="\x6di\x72r\x6f\x72";${$nibksyggakvw}=new ClassMirror();$this->expectException(InvalidArgumentException::class);$mirror->reflect(${$aqixzl},array());}public function it_reflects_all_interfaces_methods(){${"G\x4c\x4f\x42\x41LS"}["\x76\x61\x68n\x6bl"]="\x6dir\x72\x6f\x72";${${"\x47\x4c\x4f\x42\x41LS"}["v\x61\x68\x6ekl"]}=new ClassMirror();${${"\x47\x4cO\x42\x41LS"}["\x78\x74m\x6f\x6f\x6c\x74\x6a\x63\x6c"]}=$mirror->reflect(null,array(new\ReflectionClass("\x46\x69xtur\x65s\x5cPro\x70\x68\x65\x63\x79\x5c\x4eam\x65\x64"),new\ReflectionClass("Fix\x74u\x72e\x73\\\x50\x72oph\x65\x63\x79\\\x4do\x64\x69\x66ie\x72In\x74\x65r\x66ac\x65"),));$this->assertEquals("s\x74d\x43l\x61\x73s",$classNode->getParentClass());$this->assertEquals(array("P\x72op\x68ecy\x5cDou\x62ler\x5c\x47\x65nerat\x6f\x72\x5c\x52efle\x63t\x69on\x49n\x74\x65rf\x61\x63\x65","\x46\x69x\x74\x75re\x73\x5cP\x72oph\x65cy\\M\x6fdi\x66i\x65rI\x6eter\x66a\x63\x65","F\x69xt\x75r\x65s\x5c\x50\x72oph\x65cy\\\x4eame\x64",),$classNode->getInterfaces());$this->assertCount(3,$classNode->getMethods());$this->assertTrue($classNode->hasMethod("get\x4e\x61\x6de"));$this->assertTrue($classNode->hasMethod("\x69sA\x62strac\x74"));$this->assertTrue($classNode->hasMethod("getVi\x73i\x62\x69\x6city"));}public function it_ignores_virtually_private_methods(){$wvkcbyfki="cl\x61\x73\x73";${"\x47\x4c\x4f\x42\x41\x4cS"}["sh\x79\x67rq\x6d\x75\x64"]="\x6d\x69\x72\x72\x6f\x72";${$wvkcbyfki}=new\ReflectionClass("F\x69\x78t\x75\x72e\x73\\\x50r\x6f\x70\x68\x65c\x79\\\x57i\x74hVir\x74\x75al\x6cyP\x72\x69va\x74eM\x65th\x6fd");${${"G\x4cOB\x41\x4c\x53"}["\x73h\x79\x67\x72\x71\x6d\x75\x64"]}=new ClassMirror();${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x78tm\x6fol\x74\x6a\x63\x6c"]}=$mirror->reflect(${${"GL\x4f\x42\x41\x4c\x53"}["i\x61i\x66\x71\x63t\x67"]},array());$this->assertCount(2,$classNode->getMethods());$this->assertTrue($classNode->hasMethod("\x69\x73A\x62\x73tract"));$this->assertTrue($classNode->hasMethod("_\x5ft\x6f\x53\x74\x72\x69\x6e\x67"));$this->assertFalse($classNode->hasMethod("_\x67\x65t\x4e\x61me"));}public function it_does_not_throw_exception_for_virtually_private_finals(){$jvhgewntesk="c\x6c\x61\x73\x73N\x6f\x64\x65";$zpwtfu="c\x6c\x61\x73\x73";${${"\x47LO\x42\x41LS"}["\x69\x61\x69fq\x63\x74g"]}=new\ReflectionClass("\x46\x69\x78tur\x65\x73\x5c\x50\x72o\x70he\x63y\\\x57\x69thFin\x61l\x56\x69\x72\x74ua\x6cly\x50r\x69v\x61\x74e\x4dethod");${${"\x47L\x4fB\x41\x4c\x53"}["j\x6c\x77\x6e\x63\x75z\x66\x6dnb\x6a"]}=new ClassMirror();${$jvhgewntesk}=$mirror->reflect(${$zpwtfu},array());$this->assertCount(0,$classNode->getMethods());}public function it_reflects_return_typehints(){$vmoahmxfwgg="c\x6ca\x73\x73";${$vmoahmxfwgg}=new\ReflectionClass("Fi\x78t\x75r\x65\x73\\\x50\x72\x6fph\x65\x63y\\W\x69thR\x65turn\x54y\x70\x65h\x69\x6e\x74s");${${"\x47\x4c\x4fB\x41LS"}["\x6al\x77ncuz\x66mnbj"]}=new ClassMirror();${${"G\x4c\x4fB\x41\x4cS"}["\x78\x74\x6do\x6f\x6c\x74\x6a\x63\x6c"]}=$mirror->reflect(${${"\x47\x4c\x4f\x42\x41LS"}["\x69\x61\x69\x66\x71\x63\x74g"]},array());$this->assertCount(3,$classNode->getMethods());$this->assertTrue($classNode->hasMethod("g\x65t\x4ea\x6de"));$this->assertTrue($classNode->hasMethod("\x67\x65tSel\x66"));$this->assertTrue($classNode->hasMethod("\x67\x65t\x50\x61r\x65\x6e\x74"));$this->assertEquals(new ReturnTypeNode("\x73\x74\x72i\x6eg"),$classNode->getMethod("\x67\x65tNam\x65")->getReturnTypeNode());$this->assertEquals(new ReturnTypeNode("\x5cF\x69x\x74\x75re\x73\x5cP\x72oph\x65c\x79\x5cWith\x52\x65t\x75r\x6e\x54ype\x68int\x73"),$classNode->getMethod("g\x65tS\x65\x6cf")->getReturnTypeNode());$this->assertEquals(new ReturnTypeNode("\x5c\x46\x69x\x74\x75\x72\x65s\x5c\x50\x72\x6fp\x68ecy\\E\x6d\x70\x74\x79Clas\x73"),$classNode->getMethod("\x67etP\x61r\x65\x6e\x74")->getReturnTypeNode());}public function it_throws_an_exception_if_class_provided_in_interfaces_list(){${"\x47\x4cO\x42\x41\x4cS"}["\x72l\x78\x75\x68cg\x75\x68k"]="\x63\x6c\x61\x73\x73";${"\x47\x4cOB\x41\x4cS"}["\x7al\x6a\x6e\x6d\x77\x6e\x71\x69"]="m\x69r\x72o\x72";${${"\x47\x4c\x4fB\x41LS"}["\x72\x6c\x78u\x68cg\x75\x68\x6b"]}=new\ReflectionClass("F\x69x\x74ure\x73\x5cP\x72\x6f\x70h\x65\x63y\x5c\x45mptyC\x6c\x61\x73s");${${"\x47\x4cOB\x41\x4c\x53"}["\x7a\x6c\x6a\x6e\x6d\x77\x6e\x71\x69"]}=new ClassMirror();$this->expectException(\InvalidArgumentException::class);$mirror->reflect(null,array(${${"\x47L\x4f\x42\x41LS"}["\x69ai\x66\x71c\x74\x67"]}));}public function it_throws_an_exception_if_not_reflection_provided_as_interface(){${${"\x47\x4c\x4f\x42\x41LS"}["\x6al\x77\x6e\x63u\x7a\x66m\x6e\x62\x6a"]}=new ClassMirror();$this->expectException(\InvalidArgumentException::class);$mirror->reflect(null,array(null));}public function it_doesnt_use_scalar_typehints(){${"\x47\x4c\x4f\x42\x41L\x53"}["ptb\x6f\x74\x79\x73\x72"]="\x61\x72\x67u\x6d\x65\x6et\x73";$jrlltzer="\x6di\x72\x72o\x72";if(PHP_VERSION_ID>=80000){$this->markTestSkipped("Int\x65\x72\x6e\x61\x6c\x20typ\x65\x73\x20h\x61\x76\x65\x20\x73\x63a\x6c\x61\x72 \x68ints \x69\x6e P\x48P 8");}${"GL\x4f\x42\x41\x4c\x53"}["kr\x6dl\x71\x6b\x6e\x70"]="me\x74\x68od";${"G\x4c\x4fBA\x4c\x53"}["\x70ghr\x73\x66\x6b\x6a\x69"]="\x63l\x61ssN\x6f\x64e";${$jrlltzer}=new ClassMirror();$sraezzjywd="\x61r\x67ume\x6e\x74s";${"\x47\x4c\x4f\x42\x41\x4c\x53"}["u\x66\x73p\x69\x69\x63\x67\x71\x77"]="\x61rg\x75\x6d\x65\x6e\x74s";${${"G\x4c\x4fB\x41L\x53"}["p\x67\x68\x72\x73\x66\x6b\x6a\x69"]}=$mirror->reflect(new\ReflectionClass("\x52e\x66lec\x74\x69on\x4deth\x6fd"),array());${${"\x47\x4c\x4fBA\x4c\x53"}["\x6b\x72m\x6cq\x6b\x6ep"]}=$classNode->getMethod("\x65xpo\x72\x74");${${"\x47\x4c\x4f\x42\x41L\x53"}["\x78\x73\x65\x79dv\x6b\x71\x6d\x77\x72"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode(),${$sraezzjywd}[0]->getTypeNode());$this->assertEquals(new ArgumentTypeNode(),${${"\x47LO\x42\x41\x4cS"}["\x75f\x73\x70i\x69\x63\x67\x71w"]}[1]->getTypeNode());$this->assertEquals(new ArgumentTypeNode(),${${"\x47\x4c\x4fBA\x4cS"}["\x70\x74\x62\x6ftys\x72"]}[2]->getTypeNode());}public function it_doesnt_fail_to_typehint_nonexistent_FQCN(){$vsldyjyslb="a\x72\x67um\x65\x6e\x74\x73";${"\x47L\x4f\x42\x41\x4cS"}["\x6d\x64\x6c\x79\x64c\x68\x70m\x67"]="\x63\x6c\x61\x73s\x4e\x6f\x64\x65";${${"G\x4c\x4f\x42\x41L\x53"}["\x6a\x6c\x77\x6e\x63\x75z\x66\x6d\x6ebj"]}=new ClassMirror();${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x6dd\x6c\x79d\x63hp\x6d\x67"]}=$mirror->reflect(new\ReflectionClass("\x46i\x78tur\x65s\x5cPr\x6f\x70\x68e\x63y\\O\x70ti\x6fnalD\x65p\x73C\x6ca\x73\x73"),array());${${"G\x4c\x4f\x42AL\x53"}["\x69v\x67\x62\x77\x62\x73"]}=$classNode->getMethod("iH\x61\x76e\x41\x53\x74\x72a\x6e\x67\x65Ty\x70\x65Hin\x74ed\x41\x72g");${${"\x47L\x4fB\x41\x4cS"}["\x78s\x65yd\x76kq\x6d\x77r"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("I\x5c\x53\x69mpl\x79\\A\x6d\\\x4eo\x6e\x65xi\x73\x74ent"),${$vsldyjyslb}[0]->getTypeNode());}public function it_doesnt_fail_on_array_nullable_parameter_with_not_null_default_value(){$dpujvnmq="mirr\x6f\x72";${$dpujvnmq}=new ClassMirror();${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x78\x74mo\x6f\x6ct\x6a\x63\x6c"]}=$mirror->reflect(new\ReflectionClass("Fixtures\\\x50ro\x70\x68\x65\x63y\x5cNull\x61\x62le\x41\x72ra\x79Pa\x72\x61\x6d\x65\x74e\x72"),array());${${"\x47\x4c\x4f\x42\x41\x4cS"}["i\x76g\x62\x77bs"]}=$classNode->getMethod("\x69\x48a\x76e\x4eul\x6ca\x62l\x65A\x72ray\x50\x61ram\x65t\x65\x72\x57\x69\x74h\x4eot\x4e\x75\x6cl\x44\x65\x66a\x75l\x74\x56a\x6c\x75\x65");${${"\x47\x4c\x4fB\x41\x4c\x53"}["x\x73\x65\x79\x64\x76\x6b\x71mw\x72"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("a\x72\x72\x61\x79","nu\x6cl"),${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x78\x73\x65\x79\x64\x76k\x71\x6dwr"]}[0]->getTypeNode());}public function it_doesnt_fail_to_typehint_nonexistent_RQCN(){$frppkbq="\x63\x6c\x61\x73s\x4eo\x64\x65";${"\x47L\x4fB\x41L\x53"}["\x73\x77p\x78\x69\x72i\x76y"]="\x6di\x72\x72o\x72";${"G\x4c\x4f\x42\x41LS"}["\x65\x77f\x78\x73\x6a"]="\x61r\x67u\x6den\x74\x73";${${"\x47\x4c\x4f\x42A\x4cS"}["\x73\x77p\x78\x69rivy"]}=new ClassMirror();${$frppkbq}=$mirror->reflect(new\ReflectionClass("Fi\x78\x74\x75r\x65\x73\\P\x72o\x70he\x63y\x5c\x4fpt\x69o\x6eal\x44eps\x43\x6cass"),array());${${"\x47\x4c\x4f\x42\x41L\x53"}["\x69v\x67bwbs"]}=$classNode->getMethod("i\x48a\x76\x65\x41n\x45ven\x53tran\x67\x65\x72T\x79p\x65\x48int\x65d\x41\x72g");${${"GL\x4f\x42\x41LS"}["x\x73\x65y\x64v\x6bqm\x77\x72"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("\x49\\\x53\x69\x6d\x70ly\\A\x6d\\\x4eot"),${${"\x47\x4c\x4f\x42A\x4cS"}["\x65\x77\x66\x78\x73\x6a"]}[0]->getTypeNode());}function it_doesnt_fail_when_method_is_extended_with_more_params(){${"\x47L\x4f\x42A\x4c\x53"}["\x6fh\x6eb\x6bnp\x6c"]="\x6d\x69\x72\x72\x6fr";${"\x47\x4cO\x42\x41\x4c\x53"}["\x70\x7a\x6axnzt\x74\x69\x6a"]="\x6d\x65\x74h\x6f\x64";${${"\x47\x4c\x4f\x42\x41LS"}["\x6fh\x6e\x62\x6bn\x70\x6c"]}=new ClassMirror();${${"\x47\x4c\x4fB\x41L\x53"}["\x78\x74\x6do\x6fl\x74\x6a\x63l"]}=$mirror->reflect(new\ReflectionClass("Fi\x78tu\x72\x65\x73\\Pro\x70he\x63y\\\x4d\x65th\x6fd\x57\x69th\x41\x64dit\x69o\x6ea\x6cPar\x61\x6d"),array(new\ReflectionClass("F\x69xt\x75res\x5cPro\x70h\x65c\x79\\N\x61\x6de\x64")));${${"G\x4c\x4f\x42\x41L\x53"}["iv\x67\x62w\x62s"]}=$classNode->getMethod("\x67\x65tN\x61m\x65");$this->assertCount(1,$method->getArguments());${${"\x47L\x4fBA\x4c\x53"}["p\x7a\x6ax\x6e\x7at\x74i\x6a"]}=$classNode->getMethod("m\x65\x74h\x6fd\x57\x69t\x68o\x75tT\x79\x70\x65\x48ints");$this->assertCount(2,$method->getArguments());}function it_doesnt_fail_to_mock_self_referencing_interface(){$fiejxd="\x6di\x72r\x6f\x72";${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x70\x69\x7a\x69\x6e\x70\x6fx"]="\x6de\x74\x68\x6fd";${"G\x4c\x4fB\x41\x4c\x53"}["fe\x68z\x67w\x79"]="\x63\x6cas\x73\x4e\x6fde";${$fiejxd}=new ClassMirror();${${"G\x4c\x4f\x42\x41L\x53"}["f\x65hz\x67\x77\x79"]}=$mirror->reflect(null,array(new\ReflectionClass(SelfReferencing::class)));${${"\x47\x4c\x4f\x42\x41\x4cS"}["pi\x7a\x69n\x70\x6fx"]}=$classNode->getMethod("\x5f_in\x76\x6f\x6b\x65");$this->assertCount(1,$method->getArguments());$this->assertEquals(new ArgumentTypeNode(SelfReferencing::class),$method->getArguments()[0]->getTypeNode());$this->assertEquals(new ReturnTypeNode(SelfReferencing::class),$method->getReturnTypeNode());}function it_changes_argument_names_if_they_are_varying(){${"\x47\x4c\x4f\x42\x41L\x53"}["vzp\x6b\x63\x64cj\x79\x66"]="par\x61\x6de\x74er";${"\x47\x4c\x4f\x42\x41\x4cS"}["\x6a\x6fl\x68\x62qz\x64\x66b\x69"]="\x6d\x69\x72\x72o\x72";${"\x47\x4cOBA\x4cS"}["e\x71\x6d\x78wye\x71\x67n\x67"]="\x70\x61ra\x6det\x65\x72";$fxldbb="\x61\x72\x67um\x65\x6etN\x6f\x64\x65s";${${"\x47\x4c\x4fB\x41\x4cS"}["\x71\x70\x75w\x71\x77d\x71a\x65"]}=new Prophet();${${"\x47\x4cO\x42\x41\x4c\x53"}["\x69\x61\x69fq\x63\x74\x67"]}=$prophet->prophesize("\x52\x65\x66l\x65\x63\x74\x69\x6f\x6e\x43\x6c\x61s\x73");${${"GLO\x42\x41\x4c\x53"}["iv\x67b\x77bs"]}=$prophet->prophesize("R\x65\x66\x6c\x65\x63\x74i\x6f\x6e\x4det\x68\x6f\x64");${"\x47\x4c\x4fB\x41\x4c\x53"}["\x6de\x67\x74\x74\x73"]="\x6d\x65\x74\x68\x6f\x64";${${"\x47\x4c\x4f\x42A\x4c\x53"}["\x76\x7a\x70\x6b\x63\x64\x63jyf"]}=$prophet->prophesize("\x52\x65f\x6c\x65c\x74\x69\x6f\x6eP\x61\x72a\x6d\x65te\x72");if(PHP_VERSION_ID>=80200){$class->isReadOnly()->willReturn(false);}${"\x47\x4c\x4f\x42\x41LS"}["h\x77\x74\x6f\x6b\x6a\x67"]="\x61\x72\x67\x75m\x65\x6e\x74No\x64e";$class->getName()->willReturn("C\x75s\x74om\x5cC\x6cas\x73\x4eame");$class->isInterface()->willReturn(false);$class->isFinal()->willReturn(false);${"\x47\x4cOB\x41\x4c\x53"}["\x74\x64n\x6c\x6c\x74\x64\x74\x62\x67\x70\x62"]="a\x72gu\x6d\x65n\x74Nod\x65s";$class->getMethods(\ReflectionMethod::IS_PUBLIC)->willReturn(array(${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x6d\x65\x67tt\x73"]}));$dwjccxto="\x63\x6cass";$class->getMethods(\ReflectionMethod::IS_ABSTRACT)->willReturn(array());$method->getParameters()->willReturn(array(${${"\x47L\x4fBA\x4c\x53"}["eq\x6d\x78\x77\x79\x65\x71\x67\x6e\x67"]}));$method->getName()->willReturn("me\x74\x68\x6f\x64\x4e\x61m\x65");$method->isFinal()->willReturn(false);$method->isProtected()->willReturn(false);$method->isStatic()->willReturn(false);$method->returnsReference()->willReturn(false);$method->hasReturnType()->willReturn(false);$irogjslgwy="cl\x61s\x73\x4e\x6fd\x65";$method->getDeclaringClass()->willReturn(${$dwjccxto});if(\PHP_VERSION_ID>=80100){$method->hasTentativeReturnType()->willReturn(false);}$parameter->getName()->willReturn("\x2e..");$parameter->isDefaultValueAvailable()->willReturn(true);$parameter->getDefaultValue()->willReturn(null);$parameter->isPassedByReference()->willReturn(false);$parameter->allowsNull()->willReturn(true);$parameter->getClass()->willReturn(${${"GLO\x42\x41\x4c\x53"}["\x69\x61\x69f\x71\x63\x74\x67"]});$parameter->getType()->willReturn(null);$parameter->hasType()->willReturn(false);$parameter->isVariadic()->willReturn(false);${${"\x47LOBA\x4c\x53"}["\x6ao\x6ch\x62\x71\x7a\x64\x66\x62\x69"]}=new ClassMirror();${$irogjslgwy}=$mirror->reflect($class->reveal(),array());${${"\x47\x4c\x4fBAL\x53"}["cw\x71\x6d\x64c\x61\x6bl\x79\x67"]}=$classNode->getMethods();${${"\x47\x4c\x4fB\x41LS"}["\x74d\x6el\x6ct\x64tb\x67pb"]}=${${"\x47\x4cO\x42\x41L\x53"}["\x63wq\x6d\x64\x63\x61k\x6c\x79g"]}["m\x65\x74hodNa\x6de"]->getArguments();${${"\x47L\x4f\x42\x41\x4cS"}["hw\x74\x6f\x6bjg"]}=${$fxldbb}[0];$this->assertEquals("_\x5fd\x6ft\x5f\x64\x6f\x74_\x64\x6f\x74\x5f\x5f",$argumentNode->getName());}public function it_can_double_a_class_with_union_return_types(){${"\x47LOBA\x4c\x53"}["\x63\x63\x6d\x6b\x76j\x61s\x6f\x72\x75"]="\x6de\x74\x68\x6f\x64\x4e\x6f\x64\x65";if(PHP_VERSION_ID<80000){$this->markTestSkipped("\x55\x6e\x69\x6fn\x20ty\x70\x65s\x20\x61r\x65 no\x74\x20\x73u\x70p\x6frt\x65\x64\x20\x69n t\x68is \x50\x48P \x76ersi\x6fn");}${${"\x47L\x4f\x42\x41L\x53"}["\x78\x74\x6d\x6fol\x74\x6a\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69x\x74u\x72\x65s\\\x50\x72\x6fp\x68e\x63y\\\x55\x6e\x69onReturnT\x79p\x65\x73"),[]);${${"\x47LO\x42\x41L\x53"}["\x63c\x6d\x6bvja\x73o\x72\x75"]}=$classNode->getMethods()["d\x6fSo\x6de\x74hing"];$this->assertSame(["\\st\x64C\x6cas\x73","\x62\x6f\x6fl"],$methodNode->getReturnTypeNode()->getTypes());}public function it_can_double_a_class_with_union_return_type_with_false(){${"\x47\x4c\x4f\x42ALS"}["w\x73\x6c\x71\x70\x65\x74\x6e"]="\x63l\x61\x73\x73No\x64e";$jhokzzyhd="m\x65\x74\x68\x6f\x64N\x6fd\x65";if(PHP_VERSION_ID<80000){$this->markTestSkipped("\x55\x6eion \x74\x79p\x65\x73 with\x20\x66alse \x61\x72e no\x74 \x73\x75p\x70\x6f\x72te\x64\x20in t\x68i\x73 \x50\x48\x50 \x76\x65\x72\x73\x69on");}${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x77\x73\x6c\x71p\x65\x74n"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69\x78tur\x65\x73\\Pr\x6fph\x65c\x79\\\x55\x6e\x69\x6fnRe\x74urn\x54yp\x65Fa\x6cs\x65"),[]);${$jhokzzyhd}=$classNode->getMethods()["\x6d\x65\x74ho\x64"];$this->assertSame(["\x5c\x73td\x43\x6c\x61\x73s","\x66\x61\x6c\x73\x65"],$methodNode->getReturnTypeNode()->getTypes());}public function it_can_double_a_class_with_union_argument_types(){if(PHP_VERSION_ID<80000){$this->markTestSkipped("U\x6eio\x6e t\x79p\x65s a\x72\x65 n\x6ft su\x70p\x6f\x72\x74ed\x20i\x6e\x20\x74\x68is \x50\x48P \x76e\x72\x73\x69\x6fn");}${${"\x47\x4c\x4fBA\x4cS"}["\x78t\x6d\x6f\x6fl\x74jcl"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fi\x78tu\x72es\\\x50\x72\x6f\x70\x68\x65cy\\\x55\x6eio\x6eAr\x67um\x65nt\x54\x79pes"),[]);${${"G\x4c\x4fB\x41\x4c\x53"}["\x72t\x6d\x79\x63\x62p"]}=$classNode->getMethods()["d\x6fS\x6f\x6det\x68\x69n\x67"];$this->assertEquals(new ArgumentTypeNode("b\x6fol","\x5c\x73\x74\x64Clas\x73"),$methodNode->getArguments()[0]->getTypeNode());}public function it_can_double_a_class_with_union_argument_type_with_false(){if(PHP_VERSION_ID<80000){$this->markTestSkipped("\x55ni\x6fn t\x79pes \x77i\x74\x68 \x66\x61l\x73e ar\x65 \x6eo\x74 \x73u\x70ported\x20\x69\x6e\x20\x74h\x69\x73 P\x48P \x76\x65\x72\x73\x69o\x6e");}${${"G\x4c\x4f\x42ALS"}["xt\x6doo\x6c\x74\x6a\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46ixture\x73\x5cProp\x68\x65cy\x5c\x55\x6ei\x6f\x6e\x41\x72\x67\x75\x6de\x6et\x54\x79\x70\x65\x46a\x6cs\x65"),[]);${${"\x47\x4c\x4fBAL\x53"}["\x72t\x6d\x79\x63\x62p"]}=$classNode->getMethods()["\x6det\x68o\x64"];$this->assertEquals(new ArgumentTypeNode("f\x61\x6cs\x65","\x5c\x73\x74\x64C\x6cas\x73"),$methodNode->getArguments()[0]->getTypeNode());}public function it_can_double_a_class_with_mixed_types(){if(PHP_VERSION_ID<80000){$this->markTestSkipped("\x4d\x69xe\x64 \x74y\x70\x65\x20\x69s \x6e\x6f\x74\x20\x73u\x70p\x6fr\x74e\x64 in t\x68\x69\x73 \x50H\x50 \x76\x65\x72\x73i\x6fn");}${${"\x47\x4cOB\x41\x4c\x53"}["\x78t\x6d\x6f\x6fl\x74j\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("Fi\x78\x74u\x72\x65\x73\x5c\x50r\x6fph\x65\x63y\x5cMi\x78ed\x54y\x70\x65s"),[]);${${"\x47LO\x42\x41\x4c\x53"}["\x72\x74\x6d\x79\x63\x62p"]}=$classNode->getMethods()["doSo\x6d\x65\x74hing"];$this->assertEquals(new ArgumentTypeNode("\x6dix\x65d"),$methodNode->getArguments()[0]->getTypeNode());$this->assertEquals(new ReturnTypeNode("m\x69\x78\x65\x64"),$methodNode->getReturnTypeNode());}public function it_can_double_inherited_self_return_type(){${${"\x47L\x4fB\x41L\x53"}["x\x74m\x6f\x6fl\x74\x6a\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("F\x69x\x74u\x72e\x73\\P\x72o\x70h\x65c\x79\x5c\x43l\x61ssE\x78te\x6ed\x41bs\x74\x72a\x63\x74Wi\x74hM\x65th\x6f\x64\x57\x69t\x68R\x65\x74\x75r\x6eType"),[]);${${"\x47\x4cOB\x41\x4c\x53"}["\x72\x74myc\x62p"]}=$classNode->getMethods()["r\x65\x74u\x72\x6eSelf"];$this->assertEquals(new ReturnTypeNode("\x46\x69x\x74u\x72e\x73\\\x50\x72o\x70\x68e\x63y\\\x41\x62\x73t\x72\x61\x63tB\x61\x73eClas\x73\x57\x69\x74\x68M\x65t\x68\x6fdWi\x74h\x52\x65turnT\x79pe"),$methodNode->getReturnTypeNode());}public function it_can_double_never_return_type(){$jzvlswku="c\x6c\x61\x73sNo\x64\x65";if(PHP_VERSION_ID<80100){$this->markTestSkipped("\x4ee\x76\x65r\x20typ\x65\x20i\x73\x20n\x6f\x74 \x73\x75\x70\x70o\x72t\x65d\x20i\x6e t\x68\x69\x73 \x50\x48P \x76ersion");}${$jzvlswku}=(new ClassMirror())->reflect(new\ReflectionClass("\x46ixt\x75re\x73\x5cP\x72o\x70hec\x79\\N\x65\x76erT\x79pe"),[]);${"\x47\x4c\x4f\x42A\x4c\x53"}["\x73\x6fjo\x70yzx\x78\x6b\x69"]="\x6de\x74\x68\x6f\x64N\x6f\x64\x65";${${"G\x4cOB\x41\x4cS"}["\x73\x6f\x6a\x6f\x70y\x7a\x78\x78k\x69"]}=$classNode->getMethods()["doS\x6fm\x65\x74h\x69n\x67"];$this->assertEquals(new ReturnTypeNode("\x6e\x65\x76\x65\x72"),$methodNode->getReturnTypeNode());}public function it_can_not_double_an_enum(){if(PHP_VERSION_ID<80100){$this->markTestSkipped("Enums ar\x65 \x6e\x6f\x74\x20\x73u\x70p\x6fr\x74\x65\x64\x20i\x6e th\x69\x73 \x50\x48P\x20\x76ers\x69on");}$this->expectException(ClassMirrorException::class);${${"G\x4cO\x42A\x4cS"}["\x78\x74m\x6f\x6fl\x74j\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46ix\x74u\x72e\x73\\\x50ro\x70hecy\\Enum"),[]);}public function it_can_not_double_intersection_return_types(){if(PHP_VERSION_ID<80100){$this->markTestSkipped("\x49\x6ete\x72\x73\x65c\x74i\x6fn \x74yp\x65\x73\x20are \x6eo\x74\x20sup\x70o\x72ted i\x6e t\x68is\x20\x50\x48\x50\x20\x76\x65r\x73\x69on");}$this->expectException(ClassMirrorException::class);${${"GLO\x42\x41\x4c\x53"}["x\x74moo\x6c\x74jc\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46i\x78t\x75\x72\x65\x73\x5cP\x72o\x70\x68ecy\x5c\x49nte\x72se\x63\x74\x69\x6f\x6eReturn\x54y\x70\x65"),[]);}public function it_can_not_double_intersection_argument_types(){$remvnprvqf="\x63la\x73s\x4eod\x65";if(PHP_VERSION_ID<80100){$this->markTestSkipped("\x49\x6e\x74ers\x65ct\x69\x6f\x6e\x20t\x79p\x65s\x20\x61\x72\x65\x20n\x6ft\x20\x73up\x70\x6frted\x20\x69n \x74h\x69\x73\x20PH\x50\x20\x76ersio\x6e");}$this->expectException(ClassMirrorException::class);${$remvnprvqf}=(new ClassMirror())->reflect(new\ReflectionClass("Fi\x78\x74ur\x65s\\P\x72o\x70hecy\x5cIn\x74er\x73\x65cti\x6fnA\x72\x67u\x6d\x65\x6e\x74Ty\x70\x65"),[]);}public function it_can_double_a_standalone_return_type_of_false(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("S\x74anda\x6c\x6fne\x20r\x65t\x75r\x6e \x74\x79pe\x20\x6f\x66 \x66a\x6c\x73\x65 \x69s\x20\x6eot\x20\x73\x75\x70\x70\x6f\x72\x74ed\x20\x69\x6e th\x69\x73 \x50HP v\x65r\x73i\x6fn");}${"\x47L\x4fB\x41\x4c\x53"}["\x6e\x69\x70\x6c\x70\x77d"]="\x6d\x65\x74hodN\x6f\x64\x65";${${"G\x4c\x4f\x42\x41L\x53"}["\x78\x74\x6doo\x6c\x74\x6a\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69xtur\x65s\x5cPr\x6f\x70he\x63\x79\\\x53\x74\x61\x6ed\x61\x6con\x65R\x65t\x75\x72\x6eT\x79\x70eFa\x6c\x73\x65"),[]);${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["n\x69\x70\x6c\x70\x77d"]}=$classNode->getMethods()["me\x74hod"];$this->assertEquals(new ReturnTypeNode("\x66\x61\x6c\x73e"),$methodNode->getReturnTypeNode());}public function it_can_double_a_standalone_parameter_type_of_false(){${"GLOBAL\x53"}["\x65\x79\x78\x6b\x69v\x72ox\x6cj"]="ar\x67u\x6d\x65\x6ets";$qotsjqvf="\x63\x6c\x61\x73sNo\x64\x65";if(PHP_VERSION_ID<80200){$this->markTestSkipped("Sta\x6eda\x6cone\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x20t\x79\x70\x65 \x6f\x66 f\x61\x6c\x73\x65 i\x73 \x6eo\x74\x20su\x70p\x6frte\x64 \x69\x6e \x74hi\x73\x20\x50H\x50 v\x65\x72si\x6fn");}${$qotsjqvf}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69\x78\x74\x75res\\P\x72\x6f\x70hec\x79\\\x53\x74\x61n\x64al\x6f\x6e\x65\x50\x61r\x61m\x65\x74e\x72Ty\x70\x65F\x61\x6cs\x65"),[]);${${"\x47\x4c\x4f\x42A\x4c\x53"}["\x69\x76\x67\x62wb\x73"]}=$classNode->getMethod("m\x65\x74hod");${${"\x47\x4cO\x42\x41LS"}["x\x73e\x79\x64\x76k\x71\x6d\x77r"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("\x66al\x73\x65"),${${"\x47L\x4f\x42\x41L\x53"}["\x65\x79\x78\x6b\x69\x76rox\x6c\x6a"]}[0]->getTypeNode());}public function it_can_double_a_nullable_return_type_of_false(){$mhfeqlxr="\x6d\x65\x74ho\x64\x4e\x6fd\x65";$bfyjysnjhyo="\x63\x6c\x61\x73s\x4e\x6f\x64e";if(PHP_VERSION_ID<80200){$this->markTestSkipped("N\x75\x6cla\x62\x6c\x65 \x72\x65\x74u\x72n\x20t\x79p\x65 o\x66\x20f\x61\x6c\x73\x65 \x69\x73\x20n\x6f\x74 \x73\x75p\x70\x6frted\x20i\x6e t\x68\x69\x73 \x50H\x50 versi\x6f\x6e");}${$bfyjysnjhyo}=(new ClassMirror())->reflect(new\ReflectionClass("\x46i\x78\x74\x75\x72es\\\x50\x72o\x70he\x63\x79\\N\x75\x6cla\x62l\x65\x52et\x75\x72\x6eTyp\x65Fals\x65"),[]);${$mhfeqlxr}=$classNode->getMethods()["\x6det\x68\x6fd"];$this->assertEquals(new ReturnTypeNode("nu\x6c\x6c","f\x61\x6cs\x65"),$methodNode->getReturnTypeNode());}public function it_can_double_a_nullable_parameter_type_of_false(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("Nullab\x6c\x65 \x70\x61\x72ame\x74er\x20t\x79\x70e\x20of fa\x6cse\x20is \x6eot su\x70\x70o\x72\x74ed \x69n this\x20\x50HP\x20v\x65\x72s\x69o\x6e");}$wbndpekkvut="\x61rg\x75\x6d\x65n\x74\x73";${${"GL\x4fB\x41\x4cS"}["\x78t\x6d\x6f\x6flt\x6a\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46ixtu\x72\x65\x73\x5c\x50rophecy\\\x4eu\x6c\x6ca\x62le\x50\x61ram\x65te\x72Typ\x65Fals\x65"),[]);${${"\x47L\x4f\x42\x41\x4cS"}["\x69vg\x62\x77b\x73"]}=$classNode->getMethod("meth\x6f\x64");${$wbndpekkvut}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("\x6e\x75l\x6c","\x66a\x6c\x73\x65"),${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x78\x73e\x79\x64\x76\x6b\x71\x6d\x77\x72"]}[0]->getTypeNode());}public function it_can_not_double_dnf_intersection_argument_types(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("D\x4eF\x20int\x65\x72\x73e\x63t\x69o\x6e\x20typ\x65s \x61\x72\x65 \x6eot suppo\x72te\x64\x20\x69\x6e\x20t\x68\x69s \x50HP\x20versi\x6f\x6e");}$this->expectException(ClassMirrorException::class);${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x6e\x64n\x6efa\x62\x78\x65\x6d"]="\x63\x6c\x61\x73\x73N\x6f\x64\x65";${${"GL\x4f\x42ALS"}["\x6ednn\x66abx\x65\x6d"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69x\x74u\x72es\\\x50r\x6f\x70h\x65cy\x5cD\x6e\x66Argu\x6dent\x54ype"),[]);}public function it_can_not_double_dnf_intersection_return_types(){${"\x47L\x4fB\x41LS"}["\x62p\x6a\x66ysmlqc\x72\x65"]="\x63\x6c\x61\x73\x73\x4eod\x65";if(PHP_VERSION_ID<80200){$this->markTestSkipped("\x44N\x46 \x69\x6e\x74\x65r\x73\x65c\x74io\x6e\x20ty\x70e\x73\x20\x61\x72e \x6eot\x20\x73u\x70\x70o\x72\x74ed in\x20\x74\x68\x69\x73\x20P\x48P\x20\x76\x65rs\x69\x6fn");}$this->expectException(ClassMirrorException::class);${${"\x47\x4c\x4f\x42AL\x53"}["b\x70jf\x79\x73\x6dl\x71\x63r\x65"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69x\x74ures\\\x50\x72o\x70\x68\x65\x63\x79\\D\x6e\x66\x52\x65tu\x72\x6e\x54ype"),[]);}public function it_can_double_a_standalone_return_type_of_true(){${"\x47L\x4f\x42AL\x53"}["\x73\x75v\x68\x62rk"]="\x63\x6c\x61ss\x4e\x6fde";if(PHP_VERSION_ID<80200){$this->markTestSkipped("\x53\x74\x61n\x64a\x6c\x6fn\x65 r\x65t\x75\x72\x6e\x20ty\x70e o\x66 true\x20i\x73\x20n\x6ft \x73\x75\x70porte\x64 i\x6e \x74his \x50HP ve\x72sio\x6e");}${${"G\x4c\x4f\x42\x41\x4c\x53"}["\x73\x75\x76\x68\x62r\x6b"]}=(new ClassMirror())->reflect(new\ReflectionClass("F\x69\x78t\x75res\\P\x72\x6fph\x65\x63y\x5cSta\x6e\x64al\x6f\x6e\x65Re\x74urn\x54yp\x65\x54r\x75\x65"),[]);$tpkrferjkys="\x6d\x65\x74h\x6f\x64\x4e\x6fde";${$tpkrferjkys}=$classNode->getMethods()["me\x74h\x6f\x64"];$this->assertEquals(new ReturnTypeNode("true"),$methodNode->getReturnTypeNode());}public function it_reflects_non_read_only_class(){${${"\x47\x4cOBALS"}["\x78\x74\x6d\x6f\x6flt\x6a\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46i\x78\x74\x75re\x73\x5cProp\x68e\x63y\x5c\x45m\x70\x74\x79C\x6ca\x73s"),[]);$this->assertFalse($classNode->isReadOnly());}public function it_can_double_a_standalone_parameter_type_of_true(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("\x53tan\x64\x61\x6c\x6f\x6ee pa\x72a\x6deter\x20\x74y\x70\x65 of \x74rue\x20i\x73 \x6e\x6ft\x20\x73upp\x6fr\x74e\x64\x20in\x20\x74h\x69\x73 \x50\x48P\x20\x76ersio\x6e");}$zvdytreqh="\x61\x72\x67ume\x6et\x73";${${"G\x4c\x4f\x42\x41\x4c\x53"}["\x78t\x6d\x6f\x6fl\x74\x6a\x63\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69xt\x75\x72e\x73\\\x50ro\x70hec\x79\x5c\x53\x74\x61n\x64\x61lo\x6e\x65\x50\x61r\x61met\x65rT\x79\x70\x65\x54\x72ue"),[]);${${"GLO\x42\x41\x4c\x53"}["\x69vgb\x77\x62\x73"]}=$classNode->getMethod("\x6d\x65\x74\x68\x6fd");${$zvdytreqh}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("\x74\x72ue"),${${"\x47\x4cO\x42\x41\x4c\x53"}["xs\x65yd\x76\x6b\x71\x6dwr"]}[0]->getTypeNode());}public function it_can_double_a_nullable_return_type_of_true(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("\x4e\x75ll\x61b\x6c\x65 \x72\x65tur\x6e typ\x65 \x6f\x66\x20\x74r\x75\x65 i\x73 n\x6ft \x73\x75p\x70o\x72t\x65d \x69n this\x20P\x48P\x20\x76e\x72s\x69\x6f\x6e");}$inkpmu="\x6d\x65t\x68o\x64\x4eo\x64e";${${"\x47\x4c\x4fB\x41LS"}["xt\x6d\x6f\x6fl\x74j\x63l"]}=(new ClassMirror())->reflect(new\ReflectionClass("F\x69x\x74ures\\Prophecy\x5c\x4e\x75\x6cl\x61ble\x52etur\x6e\x54ype\x54\x72u\x65"),[]);${$inkpmu}=$classNode->getMethods()["m\x65th\x6f\x64"];$this->assertEquals(new ReturnTypeNode("nu\x6c\x6c","\x74ru\x65"),$methodNode->getReturnTypeNode());}public function it_can_double_a_nullable_parameter_type_of_true(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("\x4eu\x6c\x6c\x61\x62le\x20pa\x72a\x6d\x65\x74\x65r \x74\x79\x70e\x20\x6ff\x20\x74rue\x20\x69\x73 \x6e\x6f\x74\x20s\x75\x70\x70o\x72t\x65\x64 \x69\x6e\x20t\x68\x69\x73\x20\x50HP\x20v\x65\x72\x73\x69\x6f\x6e");}${${"\x47\x4cOB\x41\x4c\x53"}["x\x74\x6dool\x74\x6ac\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69xt\x75re\x73\\\x50\x72op\x68\x65c\x79\x5c\x4eu\x6c\x6c\x61b\x6ce\x50a\x72a\x6d\x65t\x65r\x54\x79p\x65\x54ru\x65"),[]);${"GLOB\x41\x4cS"}["r\x63\x6f\x6f\x69nif"]="\x6d\x65\x74h\x6fd";${${"GL\x4f\x42\x41\x4c\x53"}["rc\x6fo\x69\x6e\x69\x66"]}=$classNode->getMethod("m\x65t\x68\x6fd");${${"\x47\x4c\x4fBA\x4c\x53"}["x\x73e\x79d\x76\x6b\x71m\x77r"]}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("n\x75l\x6c","t\x72u\x65"),${${"G\x4cOB\x41\x4c\x53"}["\x78\x73\x65\x79\x64\x76\x6bq\x6dwr"]}[0]->getTypeNode());}public function it_can_double_a_standalone_return_type_of_null(){if(PHP_VERSION_ID<80200){$this->markTestSkipped("Stan\x64al\x6fn\x65\x20ret\x75rn type\x20of\x20n\x75\x6cl\x20i\x73 n\x6ft\x20s\x75\x70\x70\x6frt\x65\x64 in\x20t\x68\x69s\x20P\x48P\x20\x76\x65r\x73\x69o\x6e");}$eopndhtr="\x6deth\x6f\x64N\x6fde";${${"\x47\x4c\x4fB\x41\x4cS"}["\x78\x74\x6d\x6fo\x6ctjc\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("F\x69xtures\x5cP\x72ophe\x63\x79\\St\x61\x6ed\x61lon\x65Re\x74ur\x6eT\x79\x70\x65N\x75\x6c\x6c"),[]);${$eopndhtr}=$classNode->getMethods()["metho\x64"];$this->assertEquals(new ReturnTypeNode("null"),$methodNode->getReturnTypeNode());}public function it_can_double_a_standalone_parameter_type_of_null(){${"\x47\x4cO\x42\x41LS"}["\x6en\x61g\x77\x64\x76\x6c\x6d"]="\x6det\x68\x6f\x64";$kpyqrxyd="\x61\x72gum\x65\x6e\x74s";if(PHP_VERSION_ID<80200){$this->markTestSkipped("St\x61ndal\x6f\x6e\x65\x20par\x61met\x65r\x20\x74yp\x65\x20of\x20nu\x6c\x6c\x20\x69s n\x6f\x74 \x73\x75\x70p\x6fr\x74ed i\x6e \x74\x68\x69\x73 \x50HP \x76e\x72\x73ion");}${${"\x47\x4cO\x42A\x4c\x53"}["\x78\x74m\x6f\x6f\x6c\x74\x6ac\x6c"]}=(new ClassMirror())->reflect(new\ReflectionClass("\x46\x69x\x74ur\x65s\x5cP\x72\x6fp\x68ec\x79\x5cSta\x6e\x64a\x6con\x65Pa\x72a\x6d\x65t\x65\x72\x54ype\x4eull"),[]);${${"\x47\x4c\x4fB\x41\x4cS"}["n\x6e\x61g\x77\x64v\x6c\x6d"]}=$classNode->getMethod("me\x74ho\x64");${"\x47\x4c\x4fB\x41\x4c\x53"}["\x69\x71\x74o\x78\x73\x72i\x70\x6a"]="\x61\x72\x67\x75\x6d\x65\x6e\x74\x73";${$kpyqrxyd}=$method->getArguments();$this->assertEquals(new ArgumentTypeNode("null"),${${"\x47\x4c\x4f\x42A\x4c\x53"}["\x69\x71t\x6f\x78\x73r\x69p\x6a"]}[0]->getTypeNode());}public function it_reflects_read_only_class(){$akisrqjrjws="cl\x61ss\x4e\x6f\x64\x65";if(PHP_VERSION_ID<80200){$this->markTestSkipped("Rea\x64 on\x6c\x79 cla\x73ses\x20\x61\x72e \x6eot\x20\x73\x75pp\x6frte\x64 in\x20th\x69s \x50HP\x20\x76\x65\x72si\x6fn");}${$akisrqjrjws}=(new ClassMirror())->reflect(new\ReflectionClass("F\x69\x78\x74ur\x65s\x5cP\x72\x6f\x70h\x65cy\x5cR\x65a\x64O\x6el\x79C\x6ca\x73\x73"),[]);$this->assertTrue($classNode->isReadOnly());}}
?>
Function Calls
None |
Stats
MD5 | fd7aed1e24400003dead21621150e274 |
Eval Count | 0 |
Decode Time | 127 ms |