private function isEmptyExpression()

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;
  }