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:----WBUGCijgYTt/pJE+KwjDXtE58QUCGrscugOxXqE17NJqhNkW9UYrk4aU/KG1L51hD/lvr1DKvGDfmnNoGOTk9sKwklB/2A8eulz1/rf5AxurrAaNJiZf+wk0BoCFKO8v6Sy4MDjPFfiNRMyjfIIACKVDs+GOYEFwAj/m4U+UeMUVH69il54w7FxKpC83Kv20bkoczSsaLSpuWxxqaNsBbpWuxL6TN8NfT5hKeuSItrl9xzzEeRMxEC2oxFNnB+f68XYKHFERMfwgQFjP1CETxCSpGvYPu8iwSQSPxIBHh2/EAqqi+LcuB8B5UwwolfcDtjklBknySPgTUnyh6GwXhRFHgEMRdXQWZnFjUgeDWxTq+zRpLoipNUezkla9WxkNTvN+AEl7CnOOpc7RNL7wMLqI51IGG7DuqbdR7zc/sO7zd7CXx2mMm4+vKjPJkwV2KieZuJvVM3z332UbK301UA6DXbwwYuoNB42VFxse45Mhh7+2Uu0i36e7g1aknyYKmENOlv1GQCDl0C6xXQ8eTLkpwVLlolWjpl4eOnFmAP9Q4XBwWbLD3WOHoh3E0ECa6jnVF8/nutHK/if8JVWL8WUpHY9G5V2xCE/x70OUkFdLZZVTJMkprQ6AXugAJHE/C6o7CwMK+oGCCK9ca8L5IaTlT8WI1tcvH26QCzc6mz0=----ATTACHMENT:----NzA3MjU1NjQ5MjY1Mzg4OCA1MzQ2MzYyNjcxNzM0MTY2IDgwNDM5NjQ5NjQ3ODU2NTM=