コード例 #1
0
 public function introspect(\ReflectionExtension $extension)
 {
     $classes = $functions = $constants = array();
     foreach ($extension->getClasses() as $class) {
         assert($class instanceof \ReflectionClass);
         $phpClass = PhpClass::fromReflection($class);
         $classes[] = $phpClass;
     }
     foreach ($extension->getFunctions() as $function) {
         assert($function instanceof \ReflectionFunction);
         $phpFunction = PhpFunction::fromReflection($function);
         $functions[] = $phpFunction;
     }
     foreach ($extension->getConstants() as $name => $value) {
         $phpConstant = new PhpConstant($name);
         $phpConstant->setValue($value);
         $constants[] = $phpConstant;
     }
     return array('classes' => $classes, 'functions' => $functions, 'constants' => $constants);
 }
コード例 #2
0
 /**
  * @param string|PhpConstant $name
  * @param string $value
  */
 public function setConstant($nameOrConstant, $value = null)
 {
     if ($nameOrConstant instanceof PhpConstant) {
         if (null !== $value) {
             throw new \InvalidArgumentException('If a PhpConstant object is passed, $value must be null.');
         }
         $name = $nameOrConstant->getName();
         $constant = $nameOrConstant;
     } else {
         $name = $nameOrConstant;
         $constant = new PhpConstant($nameOrConstant);
         $constant->setValue($value);
     }
     $this->constants[$name] = $constant;
     return $this;
 }