mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-25 16:22:42 +01:00
b996b4799b
Summary: Note that booleans are scalars. Full stop. | is_scalar($v) | Result | |------------------|--------| | `"foo"` | true | | `""` | true | | `null` | true | | `0` | true | | `0.5` | true | | `true` | true | | `false` | true | | `new stdclass()` | false | | `array()` | false | Note that phutil_nonempty_scalar() was designed just to tell whenever a scalar is "empty" or not. So it must not explode when receiving a valid scalar. So the question is not whenever a boolean is a scalar or not, but whenever is empty or not. But also this is a clear fact: | `$v` | `is_scalar($v)` | `!is_empty($v)` | `if(strlen($v))`| |---------|-----------------|-----------------|-----------------| | `true` | `true` | `true` | `true` | | `false` | `true` | `false` | `false` | In short, now the function does not explode anymore with bool values. Instead, it says whenever are empty or not. In bold the exact changes: | Value |`phutil_nonempty_scalar($v)`| |-------------------|----------------------------| | `"foo"` | true | | `""` | false | | `null` | false | | `0` | true | | `0.5` | true | |`obj` with tostring| true | |`obj` withno tostr.| Exception | | `array()` | Exception | | `true` | ~~Exception~~ **true** | | `false` | ~~Exception~~ **false** | Closes T15239 Test Plan: - check if it makes sense to you - check the few usages Reviewers: O1 Blessed Committers, avivey Reviewed By: O1 Blessed Committers, avivey Subscribers: speck, tobiaswiese, Matthew, Cigaryno Maniphest Tasks: T15239 Differential Revision: https://we.phorge.it/D25117 |
||
---|---|---|
.. | ||
__tests__ | ||
AbstractDirectedGraph.php | ||
ArcanistNonblockingGuard.php | ||
CaseInsensitiveArray.php | ||
PhutilArray.php | ||
PhutilArrayCheck.php | ||
PhutilArrayWithDefaultValue.php | ||
PhutilBufferedIterator.php | ||
PhutilCallbackFilterIterator.php | ||
PhutilChunkedIterator.php | ||
PhutilCowsay.php | ||
PhutilDirectedScalarGraph.php | ||
PhutilEditDistanceMatrix.php | ||
PhutilExampleBufferedIterator.php | ||
PhutilExecutionEnvironment.php | ||
PhutilHashingIterator.php | ||
PhutilLunarPhase.php | ||
PhutilProxyIterator.php | ||
PhutilRope.php | ||
PhutilSortVector.php | ||
PhutilStreamIterator.php | ||
PhutilSystem.php | ||
PhutilUTF8StringTruncator.php | ||
utf8.php | ||
utils.php | ||
viewutils.php |