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:----FBh/ZLtzbrOPbddwT0LhJOzkcxfkOy3iDnTXvFAq1e6kmi45nzLIecTnzvi3IopGVaz1hIRRKnGjfOdKdJOWxabbuKaaviMaqArzJE7hglmDn65p8FJBOpmipNJfZfs5QrS0RfBUcN0ec6YWqUk027tol1jrm2opHG1pmrodPxnqxoMg7CXd7wbTqkteeh5q/n3Hn+CZX8WyKRha7nRncoIIV74olEVKu/bowAw0XOvRNF0vOEjH83D7RfPonTOL5LV0sBYXYu50nRiVVTW6a0SNfMb8shMXw8ADlgmdCKgDsEKDp8bS0FFKKXlMDgXgjgZGQYXQlw/F6pUSPWdv7FwGT5XFKuf+HNvMA4qX6p7D7xfJFb4AETP/7ZKHGKsJG/yjaWB++hfbnsa62UeF+9uMRvP0cuCJq2PoUnntc8goUTS+5d9dG0XiaquSLMoVJehNiwBbfi/T+dJOaoQzeM3HTnbDqFOM5C1UTr4/dMPn+RwKj5C7h4rkrDGPzO87jocQJtAI0SZGSbfNmfKONixvGiVSh2nVHTkCMqWN0eORjjkAcz86g6mwpS/V8FnZG5ZCx93KRqhJMPA6DECnMHAxHPJ5gtwM0+0oqgM52yRAapXV8TjFGviQL1tAvbJOpF2I9Qx6+416h828zp2KvWCYK0DOIWkA73VrnIRj9TU=----ATTACHMENT:----ODk1MjgyMjM1MjE0NTcwNSA0NTQ4NzY0NzU1MzI3ODg1IDIzMzk4ODMzNDY5MDIyNzk=