class StaticReflectionParser in Drupal 10
Same name in this branch
- 10 core/lib/Drupal/Component/Annotation/Doctrine/StaticReflectionParser.php \Drupal\Component\Annotation\Doctrine\StaticReflectionParser
- 10 core/modules/migrate/src/Plugin/Discovery/StaticReflectionParser.php \Drupal\migrate\Plugin\Discovery\StaticReflectionParser
Same name and namespace in other branches
- 8 core/modules/migrate/src/Plugin/Discovery/StaticReflectionParser.php \Drupal\migrate\Plugin\Discovery\StaticReflectionParser
- 9 core/modules/migrate/src/Plugin/Discovery/StaticReflectionParser.php \Drupal\migrate\Plugin\Discovery\StaticReflectionParser
Allows getting the reflection parser for the parent class.
@internal This is a temporary solution to the fact that migration source plugins have more than one provider. This functionality will be moved to core in https://www.drupal.org/node/2786355.
Hierarchy
- class \Drupal\Component\Annotation\Doctrine\StaticReflectionParser
- class \Drupal\migrate\Plugin\Discovery\StaticReflectionParser
Expanded class hierarchy of StaticReflectionParser
File
- core/
modules/ migrate/ src/ Plugin/ Discovery/ StaticReflectionParser.php, line 15
Namespace
Drupal\migrate\Plugin\DiscoveryView source
class StaticReflectionParser extends BaseStaticReflectionParser {
/**
* If the current class extends another, get the parser for the latter.
*
* @param \Drupal\Component\Annotation\Doctrine\StaticReflectionParser $parser
* The current static parser.
* @param $finder
* The class finder. Must implement
* \Drupal\Component\ClassFinder\ClassFinderInterface, but can do so
* implicitly (i.e., implements the interface's methods but not the actual
* interface).
*
* @return static|null
* The static parser for the parent if there's a parent class or NULL.
*/
public static function getParentParser(BaseStaticReflectionParser $parser, $finder) {
// Ensure the class has been parsed before accessing the parentClassName
// property.
$parser
->parse();
if ($parser->parentClassName) {
return new static($parser->parentClassName, $finder, $parser->classAnnotationOptimize);
}
}
}