Example #1
0
 public function register(ClassEntry $ce)
 {
     $lcname = strtolower($ce->getName());
     if (isset($this->classes[$lcname])) {
         throw new \RuntimeException(sprintf("Class %s already defined", $ce->getName()));
     }
     $this->classes[$lcname] = $ce;
 }
Example #2
0
 protected function getClasses()
 {
     $classes = array(new ClassEntry('stdClass'));
     $tmp = (require_once __DIR__ . '/ext/Closure.php');
     foreach ($tmp as $class => $props) {
         $ce = new ClassEntry($class);
         $ms = $ce->getMethodStore();
         foreach ($props['methods'] as $name => $fe) {
             $ms->register($name, $fe);
         }
         foreach ($props['properties'] as $name => $props) {
             $ce->declareProperty($name, $props['default'], $props['access']);
         }
         $classes[] = $ce;
     }
     return $classes;
 }
Example #3
0
 protected function compile_Stmt_ClassMethod($node)
 {
     $funcData = $this->compileFunction($node);
     $this->currentClass->getMethodStore()->register($node->name, $funcData);
 }