Zephir\ClassProperty::getLetStatement PHP Метод

getLetStatement() защищенный Метод

protected getLetStatement ( )
    protected function getLetStatement()
    {
        $exprBuilder = BuilderFactory::getInstance();
        if ($this->isStatic()) {
            $className = '\\' . $this->classDefinition->getCompleteName();
            $expr = $exprBuilder->raw($this->original['default']);
            return $exprBuilder->statements()->let(array($exprBuilder->operators()->assignStaticProperty($className, $this->name, $expr)->setFile($this->original['default']['file'])->setLine($this->original['default']['line'])->setChar($this->original['default']['char'])));
        }
        $lsb = $exprBuilder->statements()->let(array($exprBuilder->operators()->assignProperty('this', $this->name, $exprBuilder->raw($this->original['default']))->setFile($this->original['default']['file'])->setLine($this->original['default']['line'])->setChar($this->original['default']['char'])));
        return $exprBuilder->statements()->ifX()->setCondition($exprBuilder->operators()->binary(BinaryOperator::OPERATOR_EQUALS, $exprBuilder->operators()->binary(BinaryOperator::OPERATOR_ACCESS_PROPERTY, $exprBuilder->variable('this'), $exprBuilder->literal(Types::STRING, $this->name)), $exprBuilder->literal(Types::NULL_)))->setStatements($exprBuilder->statements()->block(array($lsb)));
    }