No Description

UseUse.php 1021B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace PhpParser\Node\Stmt;
  3. use PhpParser\Node;
  4. use PhpParser\Error;
  5. /**
  6. * @property Node\Name $name Namespace/Class to alias
  7. * @property string $alias Alias
  8. */
  9. class UseUse extends Node\Stmt
  10. {
  11. /**
  12. * Constructs an alias (use) node.
  13. *
  14. * @param Node\Name $name Namespace/Class to alias
  15. * @param null|string $alias Alias
  16. * @param array $attributes Additional attributes
  17. */
  18. public function __construct(Node\Name $name, $alias = null, array $attributes = array()) {
  19. if (null === $alias) {
  20. $alias = $name->getLast();
  21. }
  22. if ('self' == $alias || 'parent' == $alias) {
  23. throw new Error(sprintf(
  24. 'Cannot use %s as %s because \'%2$s\' is a special class name',
  25. $name, $alias
  26. ));
  27. }
  28. parent::__construct(
  29. array(
  30. 'name' => $name,
  31. 'alias' => $alias,
  32. ),
  33. $attributes
  34. );
  35. }
  36. }