StaticReflectionParser.php

Same filename in this branch
  1. 11.x core/lib/Drupal/Component/Annotation/Doctrine/StaticReflectionParser.php
Same filename and directory in other branches
  1. 9 core/modules/migrate/src/Plugin/Discovery/StaticReflectionParser.php
  2. 9 core/lib/Drupal/Component/Annotation/Doctrine/StaticReflectionParser.php
  3. 8.9.x core/modules/migrate/src/Plugin/Discovery/StaticReflectionParser.php
  4. 10 core/modules/migrate/src/Plugin/Discovery/StaticReflectionParser.php
  5. 10 core/lib/Drupal/Component/Annotation/Doctrine/StaticReflectionParser.php

Namespace

Drupal\migrate\Plugin\Discovery

File

core/modules/migrate/src/Plugin/Discovery/StaticReflectionParser.php

View source
<?php

namespace Drupal\migrate\Plugin\Discovery;

use Drupal\Component\Annotation\Doctrine\StaticReflectionParser as BaseStaticReflectionParser;

/**
 * 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.
 */
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);
        }
    }

}

Classes

Title Deprecated Summary
StaticReflectionParser Allows getting the reflection parser for the parent class.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.