Package com.oracle.truffle.api.utilities

## Class AlwaysValidAssumption

- java.lang.Object
- - com.oracle.truffle.api.utilities.AlwaysValidAssumption

All Implemented Interfaces:
  `Assumption`

    public final class AlwaysValidAssumption
    extends java.lang.Object
    implements Assumption

An assumption that is always valid. Used as a placeholder where an assumption is needed but never invalidated.

### Field Summary

Fields
`static AlwaysValidAssumption` `INSTANCE`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `check()` Checks that this assumption is still valid.
`java.lang.String` `getName()` A name for the assumption that is used for debug output.
`void` `invalidate()` Invalidates this assumption.
`boolean` `isValid()` Checks whether the assumption is still valid.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### INSTANCE

    public static final AlwaysValidAssumption INSTANCE

### Method Detail

#### check

    public void check()
               throws InvalidAssumptionException

Description copied from interface: `Assumption`
Checks that this assumption is still valid. The method throws an exception, if this is no longer the case. This method is preferred over the `Assumption.isValid()` method when writing guest language interpreter code. The catch block should perform a node rewrite (see `Node.replace(Node)`) with a node that no longer relies on the assumption.

Specified by:
  `check` in interface `Assumption`
Throws:
  `InvalidAssumptionException` - If the assumption is no longer valid.

#### invalidate

    public void invalidate()

Description copied from interface: `Assumption`
Invalidates this assumption. Performs no operation, if the assumption is already invalid.

Specified by:
  `invalidate` in interface `Assumption`

#### getName

    public java.lang.String getName()

Description copied from interface: `Assumption`
A name for the assumption that is used for debug output.

Specified by:
  `getName` in interface `Assumption`
Returns:
  the name of the assumption

#### isValid

    public boolean isValid()

Description copied from interface: `Assumption`
Checks whether the assumption is still valid.

Specified by:
  `isValid` in interface `Assumption`
Returns:
  a boolean value indicating the validity of the assumption