code: public final void setSideEffectFlags(int flags) {
      checkState(
          this.isCall() || this.isNew() || this.isTaggedTemplateLit(),
          "Side-effect flags can only be set on invocation nodes; got %s",
          this);
  
      // We invert the flags before setting because we also invert the them when getting; they go
      // full circle.
      //
      // We apply the mask after inversion so that if all flags are being set (all 1s), it's
      // equivalent to storing a 0, the default value of an int-prop, which has no memory cost.
      putIntProp(Prop.SIDE_EFFECT_FLAGS, ~flags & SideEffectFlags.USED_BITS_MASK);
    }
docs: Marks this function or constructor call's side effect flags.
  This property is only meaningful for {@link Token#CALL} and
  {@link Token#NEW} nodes.