/** * Handles PS_CLASS_EXTENDS_NAME * @param string $symbol * @param mixed $payload (unused) * @return void */ public function classExtendsHandler($symbol, $payload) { // skip the current class? if ($this->skip_class) { return; } // get the parent class name $super_class = $this->token[1]; if (!$super_class) { throw new epExceptionParser('Empty superclass name in parsing'); return; } // build a class map with class name $cm_super =& $this->cmf->make($super_class); // warn if class map not created (should not happen) if (!$cm_super) { throw new epExceptionParser('Cannot create class map for ' . $class); return; } // set parent-child $this->cm->setParent($cm_super); $cm_super->addChild($this->cm); }