Phan\Language\Element\Clazz::hydrateOnce PHP Method

hydrateOnce() protected method

This method must be called before analysis begins.
protected hydrateOnce ( CodeBase $code_base ) : void
$code_base Phan\CodeBase
return void
    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);
    }