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:----lHrQ1jtJChDsCbZq0bjdjPRSRBHNCddgfzapNCH9jIxBcrwmLP8oM4RnZPC8eAT43u7eJa6w0uiahjqnfGSVuJwSu4lfsWNDle4YGCIG5+ZhRzD8jan9OHunzbQsKCy0zwwW5dhiY4KW3qIAH0xybDr/5SKoN0mG5ISQNPNTYp4AYMYrKBAq+Ot/IEV+LKaqZoDEXzcHWj5NnLCF65CJVIcWa6gkSIwzGGtpzo7iitmGfTqxZ7f8fKRat+fSbAs4a5FRps2ayWkNNxs+kV3GxR3gKociZGPj0ALBUcozMW/4zAZpwPf3VL9+3h66dJVITa9x5CZ7EqhE027FwRU2E1S9/9SpYrBvcmpBBlf0F/WYY5YXQZb5f2aNlBNgrIADgOm7rObO3WKrFzdv7/vk7OW3DIMUkiG84VBO4YjLFL7jg/7cDRH9F4gGSOkbuZyORNdqGcDgLM0ptAX8OzyQ17t567bGkF0Mqe0XaqoGadf01cYKKunMvBudc8UEQcMIV/bYn3+dQtw5/rsjcLLkl7nmCMhGPuiNqfZqqutbl7/TOl87aN9gD6QtWtJnNVEwULwRVH2bpKA4EXwKLk7/+fMSELfY8zpAQwtnpzxl2ZqSzYS5Js40cIsAkTj858OAXXpRxYeChIQ0Ni+r2P2tjMUJJ/UYhdOYN17netNIdwU=----ATTACHMENT:----OTE4NDA2MjUwOTgwNDgxMyAzNzkzNTE3OTYxNTE2MDU3IDI2MjgxMTU2OTUzOTg0NjA=