package net.bytebuddy.implementation.bytecode; import net.bytebuddy.implementation.Implementation; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; /** * Throws a {@link java.lang.Throwable} which must lie on top of the stack when this stack manipulation is called. */ public enum Throw implements StackManipulation { /** * The singleton instance. */ INSTANCE; @Override public boolean isValid() { return true; } @Override public Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext) { methodVisitor.visitInsn(Opcodes.ATHROW); return StackSize.SINGLE.toDecreasingSize(); } }