/**
* Add properties, constants and methods from the given
* class to this.
*
* @param Clazz $superclazz
* A class to import from
*
* @return null
*/
public function importAncestorClass(CodeBase $code_base, Clazz $superclazz)
{
$this->memoize((string) $superclazz->getFQSEN(), function () use($code_base, $superclazz) {
// Copy properties
foreach ($superclazz->getPropertyMap($code_base) as $property) {
$this->addProperty($code_base, $property);
}
// Copy constants
foreach ($superclazz->getConstantMap($code_base) as $constant) {
$this->addConstant($code_base, $constant);
}
// Copy methods
foreach ($superclazz->getMethodMap($code_base) as $method) {
$this->addMethod($code_base, $method);
}
});
}