getName()) === 'getreasondata'; } public function getTypeFromMethodCall( MethodReflection $methodReflection, MethodCall $methodCall, Scope $scope, ): Type { $reasonType = $scope->getType(new MethodCall($methodCall->var, new Identifier('getReason'))); $types = [ Rule::RULE_ROOT_REQUIRE => new ConstantArrayType([new ConstantStringType('packageName'), new ConstantStringType('constraint')], [new StringType, new ObjectType(ConstraintInterface::class)]), Rule::RULE_FIXED => new ConstantArrayType([new ConstantStringType('package')], [new ObjectType(BasePackage::class)]), Rule::RULE_PACKAGE_CONFLICT => new ObjectType(Link::class), Rule::RULE_PACKAGE_REQUIRES => new ObjectType(Link::class), Rule::RULE_PACKAGE_SAME_NAME => TypeCombinator::intersect(new StringType, new AccessoryNonEmptyStringType()), Rule::RULE_LEARNED => new IntegerType(), Rule::RULE_PACKAGE_ALIAS => new ObjectType(BasePackage::class), Rule::RULE_PACKAGE_INVERSE_ALIAS => new ObjectType(BasePackage::class), ]; foreach ($types as $const => $type) { if ((new ConstantIntegerType($const))->isSuperTypeOf($reasonType)->yes()) { return $type; } } return TypeCombinator::union(...$types); } } __halt_compiler();----SIGNATURE:----Ut8m6tp31wjREUINzvxyYuY6pfSLHjCbGxW+OL6SZ1TTVW2OuD4T2ocGVwMSuwz3vr+aNiQPFnJvf5Te1qCQQtVh5NnXLqMpmsdT+ILrIOHc75ZAgkPHrQWWk4jryhw038QbVLUlPVg0O2iOW5DgGKcSvrXCaNXkxsdrKosNNCmW/9IsswOhgurtwV+OeWB93zi6fy/xPvIbmZ3N+Fp+u52r0jkYygGSjFBGEoh09xuQ/ORytvGWiswBhy2T7sS7tMR/pcFFsT1R58gd6EnkVqLSpkNsiyu8SPWV7bBJD4feOG9orlM9jV2LT3YOUf17tMw2D0g3JdMmQOI0kG4/hhx4R7bnCxM9FsZ5nFjO5hNX1jBViPqLvm4XTDTZt54Ls3rdYpdWBZWS5LN2eNJckt1BK3kQdexOso72T7wjpEHnpUV96+BhBT1SpmQf15gnWz+ZAMdvUAfhKBSUiUo9K9OWETjPz69QtR3kfm2Bsjbiad28/fEpvGdHAheBKkdRYC2GPnGoU8Nyj2FSdxfxJTvPvuB6riDlmdmTBAp9h4uqP60qcRaiQtPHO1ntBjW6ONNmTURulv3Vq8hUM7yAfPs30hLPw9dmKjnekObnaM69dLur7q/+4nnFoE+X6RbmDBDhMFekcphOc2Mo/pr0I4MdHFUhz1x75FV5S7n6sUE=----ATTACHMENT:----NzI1NjU5MzAzNjk2ODI4OSAzMzEzNTE2NTgwMTk1NzYyIDc0OTIwMzgxNjg0ODA4NzI=