code: static boolean constructorCallHasSideEffects(Node callNode) {
      checkArgument(callNode.isNew(), "Expected NEW node, got %s", callNode.getToken());
  
      if (callNode.isNoSideEffectsCall()) {
        return false;
      }
  
      if (callNode.isOnlyModifiesArgumentsCall() && allArgsUnescapedLocal(callNode)) {
        return false;
      }
  
      Node nameNode = callNode.getFirstChild();
      return !nameNode.isName() || !CONSTRUCTORS_WITHOUT_SIDE_EFFECTS.contains(nameNode.getString());
    }
docs: Do calls to this constructor have side effects?
  
  @param callNode - constructor call node