package com.offbynull.coroutines.instrumenter.asm;
import static com.offbynull.coroutines.instrumenter.asm.SearchUtils.searchForOpcodes;
import static com.offbynull.coroutines.instrumenter.testhelpers.TestUtils.readZipFromResource;
import org.junit.Assert;
import org.junit.Test;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.tree.ClassNode;
import org.objectweb.asm.tree.MethodNode;
public class SimpleClassNodeTest {
@Test
public void mustNotFindAnyJsrInstructions() throws Exception {
byte[] input = readZipFromResource("JsrExceptionSuspendTest.zip").get("JsrExceptionSuspendTest.class");
ClassReader cr = new ClassReader(input);
ClassNode classNode = new SimpleClassNode();
cr.accept(classNode, 0);
for (MethodNode methodNode : classNode.methods) {
Assert.assertTrue(searchForOpcodes(methodNode.instructions, Opcodes.JSR).isEmpty());
}
}
}