in src/Linters/NoEmptyStatementsLinter.hack [89:113]
private function isEmptyExpression(Node $expr): bool {
return $expr is AnonymousFunction ||
(
$expr is BinaryExpression &&
$this->isOperatorWithoutSideEffects($expr->getOperator())
) ||
$expr is CastExpression ||
$expr is CollectionLiteralExpression ||
$expr is DarrayIntrinsicExpression ||
$expr is DictionaryIntrinsicExpression ||
$expr is IsExpression ||
$expr is IssetExpression ||
$expr is KeysetIntrinsicExpression ||
$expr is LambdaExpression ||
$expr is LiteralExpression ||
$expr is NameExpression ||
(
$expr is ParenthesizedExpression &&
$this->isEmptyExpression($expr->getExpression())
) ||
$expr is SubscriptExpression ||
$expr is VectorIntrinsicExpression ||
$expr is VariableExpression ||
$expr is VarrayIntrinsicExpression;
}