# All Classes

- All Classes Class Summary Enum Summary Exception Summary Annotation Types Summary
  Class | Description
  --- | ---
  At | The `At` annotation selects one or multiple instructions (depending on the circumstances no instructions can also be matched) based on the parameters it was given to.
  At.Shift | An enumeration defining the available modes of shifting as consumed by `At.shift()`.
  CallbackInfo |
  CallbackInfoReturnable<R> |
  Cancellable | The Cancellable annotation can be applied on arguments of a `Redirect` handler to allow the possibility to cancel large quantities of logic within the injected method.
  CancellationException |
  CanonicalOverwrite | Abstract
  Constant | The `Constant` annotation marks a single constant value which should be selected.
  Desc | `Desc` is a metadata annotation to specify a specific class member without the potential of typos.
  Inject | The `Inject` annotation can be applied to methods that need to be called by the given target method.
  LocalCapture |
  Mixin | The `Mixin` annotation can be applied on classes to mark them as a mixin.
  ModifyArg | The `ModifyArg` annotation allows to apply a function on a single argument used to call a method.
  ModifyConstant | The `ModifyConstant` annotation allows to apply a function on a single constant after pushing the constant onto the operand stack.
  ModifyReturnValue | The `ModifyReturnValue` annotation allows to apply a function on the return value of a method.
  ModifyVariable | The `ModifyVariable` annotation allows to apply a function on a single local variable at an arbitrary point during execution.
  Mutable | `Mutable` may only be applied to `shadowed` fields or on accessor methods.
  Overwrite | `Overwrite` can be applied on methods that need to be explicitly overwritten.
  Redirect | The `Redirect` annotation redirects a method call to the mixin implementation.
  Shadow | The `Shadow` annotation can be put on methods and fields that are present in the target class without overwriting them.
  Slice | The `Slice` annotation denotes a specific area in which an injection point may be placed in.
  Unique | The `Unique` annotation guarantees, when applied to a class member, that the member it was applied on does not cause any modifications to class members of the target classes.