/** * @param Field $intField * @param Field $objField * @param AbstractInterfaceType $interface * * @return bool * * @throws ConfigurationException */ protected function assertFieldsIdentical($intField, $objField, AbstractInterfaceType $interface) { $isValid = true; if ($intField->getType()->isCompositeType() !== $objField->getType()->isCompositeType()) { $isValid = false; } if ($intField->getType()->getNamedType()->getName() != $objField->getType()->getNamedType()->getName()) { $isValid = false; } if (!$isValid) { throw new ConfigurationException(sprintf('Implementation of %s is invalid for the field %s', $interface->getName(), $objField->getName())); } }