Class Node.SideEffectFlags

  • Enclosing class:
    Node

    public static final class Node.SideEffectFlags
    extends java.lang.Object
    A helper class for getting and setting invocation side-effect flags.

    The following values are of interest:

    1. Is global state mutated? (MUTATES_GLOBAL_STATE)
    2. Is the receiver (`this`) mutated? (MUTATES_THIS)
    3. Are any arguments mutated? (MUTATES_ARGUMENTS)
    4. Does the call throw an error? (THROWS)
    5. Is the return an escaped (mutable by other code) value? (ESCAPED_RETURN)
    • Constructor Detail

      • SideEffectFlags

        public SideEffectFlags()
      • SideEffectFlags

        public SideEffectFlags​(int value)
    • Method Detail

      • valueOf

        public int valueOf()
      • setAllFlags

        public Node.SideEffectFlags setAllFlags()
        All side-effect occur and the returned results are non-local.
      • clearAllFlags

        public Node.SideEffectFlags clearAllFlags()
        No side-effects occur and the returned results are local.
      • clearSideEffectFlags

        public void clearSideEffectFlags()
        Preserve the return result flag, but clear the others: no global state change, no throws, no this change, no arguments change
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object