public function convert(Expr\ArrayDimFetch $node, $returnAsArray = false) { $collected = $this->arrayManipulator->arrayNeedToBeSplit($node); if ($collected !== false) { return $this->splitArray($collected, $returnAsArray); } $result = $this->dispatcher->pVarOrNewExpr($node->var) . '[' . (null !== $node->dim ? $this->dispatcher->p($node->dim) : '') . ']'; if ($returnAsArray === true) { return array('head' => '', 'lastExpr' => $result, 'vars' => array()); } return $result; }
public function convert(Expr\ArrayDimFetch $node, $returnAsArray = false) { $collected = $this->arrayManipulator->arrayNeedToBeSplit($node); if ($node->var instanceof Expr\StaticPropertyFetch) { if ($node->var->class->parts[0] === 'self') { $node->var = new Expr\PropertyFetch(new Expr\Variable('this'), $node->var->name); $this->logger->logNode("Change StaticProperty into PropertyFetch due to #188", $node); } else { $this->logger->logNode("StaticProperty on array not supported, see #188", $node); } } if ($collected !== false) { return $this->splitArray($collected, $returnAsArray); } else { $result = $this->dispatcher->pVarOrNewExpr($node->var) . '[' . (null !== $node->dim ? $this->dispatcher->p($node->dim) : '') . ']'; if ($returnAsArray === true) { return array('head' => '', 'lastExpr' => $result); } else { return $result; } } }
/** * @param Expr\MethodCall $node * * @return string */ public function convert(Expr\MethodCall $node) { $collected = $this->assignManipulator->collectAssignInCondition($node->args); $node->args = $this->assignManipulator->transformAssignInConditionTest($node->args); return $collected->getCollected() . $this->dispatcher->pVarOrNewExpr($node->var) . '->' . $this->dispatcher->pObjectProperty($node->name) . '(' . $this->dispatcher->pCommaSeparated($node->args) . ')'; }
/** * @param Expr\MethodCall $node * * @return string */ public function convert(Expr\MethodCall $node) { $collected = $this->assignManipulator->collectAssignInCondition($node->args); $node->args = $this->assignManipulator->transformAssignInConditionTest($node->args); return (!empty($collected['extracted']) ? implode("\n", $collected['extracted']) . "\n" : '') . $this->dispatcher->pVarOrNewExpr($node->var) . '->' . $this->dispatcher->pObjectProperty($node->name) . '(' . $this->dispatcher->pCommaSeparated($node->args) . ')'; }