Commit d039f07c authored by xjm's avatar xjm

Issue #2933964 by kiamlaluno, oakulm: Remove the left-over @todo comments in...

Issue #2933964 by kiamlaluno, oakulm: Remove the left-over @todo comments in the BaseFieldDefinition class
parent ec31a141
......@@ -59,7 +59,6 @@ public static function create($type) {
$field_definition->itemDefinition = FieldItemDataDefinition::create($field_definition);
// Create a definition for the items, and initialize it with the default
// settings for the field type.
// @todo Cleanup in https://www.drupal.org/node/2116341.
$field_type_manager = \Drupal::service('plugin.manager.field.field_type');
$default_settings = $field_type_manager->getDefaultStorageSettings($type) + $field_type_manager->getDefaultFieldSettings($type);
$field_definition->itemDefinition->setSettings($default_settings);
......@@ -599,7 +598,7 @@ public function getOptionsProvider($property_name, FieldableEntityInterface $ent
// If the field item class implements the interface, create an orphaned
// runtime item object, so that it can be used as the options provider
// without modifying the entity being worked on.
if (is_subclass_of($this->getFieldItemClass(), OptionsProviderInterface::class)) {
if (is_subclass_of($this->getItemDefinition()->getClass(), OptionsProviderInterface::class)) {
$items = $entity->get($this->getName());
return \Drupal::service('plugin.manager.field.field_type')->createFieldItem($items, 0);
}
......@@ -624,7 +623,7 @@ public function getPropertyDefinition($name) {
*/
public function getPropertyDefinitions() {
if (!isset($this->propertyDefinitions)) {
$class = $this->getFieldItemClass();
$class = $this->getItemDefinition()->getClass();
$this->propertyDefinitions = $class::propertyDefinitions($this);
}
return $this->propertyDefinitions;
......@@ -641,17 +640,18 @@ public function getPropertyNames() {
* {@inheritdoc}
*/
public function getMainPropertyName() {
$class = $this->getFieldItemClass();
$class = $this->getItemDefinition()->getClass();
return $class::mainPropertyName();
}
/**
* Helper to retrieve the field item class.
*
* @todo: Remove once getClass() adds in defaults. See
* https://www.drupal.org/node/2116341.
* @deprecated in Drupal 8.5.0 and will be removed before Drupal 9.0.0. Use
* \Drupal\Core\TypedData\ListDataDefinition::getClass() instead.
*/
protected function getFieldItemClass() {
@trigger_error('BaseFieldDefinition::getFieldItemClass() is deprecated in Drupal 8.5.0 and will be removed before Drupal 9.0.0. Instead, you should use \Drupal\Core\TypedData\ListDataDefinition::getClass(). See https://www.drupal.org/node/2933964.', E_USER_DEPRECATED);
if ($class = $this->getItemDefinition()->getClass()) {
return $class;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment