/** * {@inheritdoc} */ public function validate(SchemaDescriptor $a, SchemaDescriptor $b) { $fields = array_merge($a->getInheritedFields(), $a->getFields()); /** @var \Gdbots\Pbjc\FieldDescriptor $field */ foreach ($fields as $name => $field) { if ($field->getEnum() && $field->getDefault() && !$field->getEnum()->hasValue($field->getDefault())) { throw new ValidatorException(sprintf('The schema "%s" field "%s" enum value "%s" doesn\'t exist. Check enum "%s" for all existing values.', $a->toString(), $name, $field->getDefault(), $field->getEnum()->toString())); } } }