public function leaveNode(PHPParser_Node $node) { if ($node instanceof PHPParser_Node_Expr_Array) { return new PHPParser_Node_Expr_AssignListInner($node->getSubNodes()); } elseif ($node instanceof PHPParser_Node_Expr_Variable || $node instanceof PHPParser_Node_Expr_ConstFetch) { return null; } elseif ($node instanceof PHPParser_Node_Name && $node->parts[0] === "null") { return new PHPParser_Node_Expr_Pass(array()); } elseif ($node instanceof PHPParser_Node_Expr_ArrayItem) { if ($node->key !== null) { throw new PHPParser_Error(self::keyFound, $node->getLine()); } if ($node->byRef !== false) { throw new PHPParser_Error(self::byRefFound, $node->getLine()); } } else { return $node; } }