1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-26 00:32:41 +01:00

Fix a compatibility issue with ArcanistUnsafeDynamicStringXHPASTLinterRule

Summary: A user reported to me that `arc lint` was failing with an error message along the lines of "argument 1 passed to `idx` must be of type array, bool given". I suspect that the user is running an older version of PHP, which means that `array_combine(array(), array())` is returning `false` instead of the expected `array()`. Instead, avoid calling `array_combine` on an empty array.

Test Plan: I don't have PHP 5.3 easily accessible to test this.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: epriestley

Differential Revision: https://secure.phabricator.com/D14567
This commit is contained in:
Joshua Spence 2015-11-26 06:18:19 +11:00
parent 9e78d15fc0
commit 28f5b0ddc6

View file

@ -70,9 +70,11 @@ final class ArcanistUnsafeDynamicStringXHPASTLinterRule
AASTNodeList $calls,
array $safe) {
$safe = array_combine(
array_map('strtolower', array_keys($safe)),
$safe);
if ($safe) {
$safe = array_combine(
array_map('strtolower', array_keys($safe)),
$safe);
}
foreach ($calls as $call) {
$name = $call->getChildByIndex(0)->getConcreteString();