protected function hydrateOnce(CodeBase $code_base)
{
foreach ($this->getAncestorFQSENList($code_base) as $fqsen) {
if ($code_base->hasClassWithFQSEN($fqsen)) {
$code_base->getClassByFQSEN($fqsen)->hydrate($code_base);
}
}
// Create the 'class' constant
$this->addConstant($code_base, new ClassConstant($this->getContext(), 'class', StringType::instance()->asUnionType(), 0, FullyQualifiedClassConstantName::make($this->getFQSEN(), 'class')));
// Add variable '$this' to the scope
$this->getInternalScope()->addVariable(new Variable($this->getContext(), 'this', $this->getUnionType(), 0));
// Load parent methods, properties, constants
$this->importAncestorClasses($code_base);
}