Example usage for org.objectweb.asm.tree MethodNode visitInsn

List of usage examples for org.objectweb.asm.tree MethodNode visitInsn

Introduction

In this page you can find the example usage for org.objectweb.asm.tree MethodNode visitInsn.

Prototype

@Override
    public void visitInsn(final int opcode) 

Source Link

Usage

From source file:org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest.java

License:Open Source License

/**
 * <code><pre>/* w  w  w .j  a v a 2  s.  co m*/
 * enum E {
 *   ;
 *   private E() {
 *     ...
 *   }
 * }
 * </pre></code>
 */
@Test
public void should_not_filter_non_empty_constructor() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, Opcodes.ACC_PRIVATE, "<init>",
            "(Ljava/lang/String;I)V", null, null);
    m.visitVarInsn(Opcodes.ALOAD, 0);
    m.visitVarInsn(Opcodes.ALOAD, 1);
    m.visitVarInsn(Opcodes.ILOAD, 2);
    m.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/Enum", "<init>", "(Ljava/lang/String;I)V", false);
    m.visitInsn(Opcodes.NOP);
    m.visitInsn(Opcodes.RETURN);
    context.superClassName = "java/lang/Enum";

    filter.filter(m, context, output);

    assertIgnored();
}

From source file:org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest.java

License:Open Source License

/**
 * <code><pre>/*from  w ww . j  av  a 2  s  .co m*/
 * enum E {
 *   ;
 *   private E(long p) {
 *   }
 * }
 * </pre></code>
 */
@Test
public void should_not_filter_constructor_with_additional_parameters() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, Opcodes.ACC_PRIVATE, "<init>",
            "(Ljava/lang/String;IJ)V", null, null);
    m.visitVarInsn(Opcodes.ALOAD, 0);
    m.visitVarInsn(Opcodes.ALOAD, 1);
    m.visitVarInsn(Opcodes.ILOAD, 2);
    m.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/Enum", "<init>", "(Ljava/lang/String;I)V", false);
    m.visitInsn(Opcodes.RETURN);
    context.superClassName = "java/lang/Enum";

    filter.filter(m, context, output);

    assertIgnored();
}

From source file:org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest.java

License:Open Source License

/**
 * <code><pre>/*www  .ja  va  2  s . c  o  m*/
 * enum E {
 *   ;
 *   private void method(String p1, int p2) {
 *   }
 * }
 * </pre></code>
 */
@Test
public void should_not_filter_non_constructor() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, Opcodes.ACC_PRIVATE, "method",
            "(Ljava/lang/String;I)V", null, null);
    m.visitInsn(Opcodes.NOP);
    context.superClassName = "java/lang/Enum";

    filter.filter(m, context, output);

    assertIgnored();
}

From source file:org.jacoco.core.internal.analysis.filter.EnumEmptyConstructorFilterTest.java

License:Open Source License

@Test
public void should_not_filter_non_Enum() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, Opcodes.ACC_PRIVATE, "<init>",
            "(Ljava/lang/String;I)V", null, null);
    m.visitInsn(Opcodes.NOP);

    filter.filter(m, context, output);//from w  w  w .  jav a  2 s .  c  om

    assertIgnored();
}

From source file:org.jacoco.core.internal.analysis.filter.EnumFilterTest.java

License:Open Source License

@Test
public void testValues() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, 0, "values", "()[LFoo;", null, null);
    m.visitInsn(Opcodes.NOP);
    context.superClassName = "java/lang/Enum";

    filter.filter(m, context, output);/*  www.j a v  a2  s .  c o  m*/

    assertMethodIgnored(m);
}

From source file:org.jacoco.core.internal.analysis.filter.EnumFilterTest.java

License:Open Source License

@Test
public void testNonValues() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, 0, "values", "()V", null, null);
    m.visitInsn(Opcodes.NOP);

    filter.filter(m, context, output);/*from   w w w  .  j  a  v a2 s  .c om*/

    assertIgnored();
}

From source file:org.jacoco.core.internal.analysis.filter.EnumFilterTest.java

License:Open Source License

@Test
public void testValueOf() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, 0, "valueOf", "(Ljava/lang/String;)LFoo;",
            null, null);//ww  w . j  a va2 s  .co  m
    m.visitInsn(Opcodes.NOP);
    context.superClassName = "java/lang/Enum";

    filter.filter(m, context, output);

    assertMethodIgnored(m);
}

From source file:org.jacoco.core.internal.analysis.filter.EnumFilterTest.java

License:Open Source License

@Test
public void testNonValueOf() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, 0, "valueOf", "()V", null, null);
    m.visitInsn(Opcodes.NOP);
    context.superClassName = "java/lang/Enum";

    filter.filter(m, context, output);/*from w w  w. j ava  2s . c o  m*/

    assertIgnored();
}

From source file:org.jacoco.core.internal.analysis.filter.EnumFilterTest.java

License:Open Source License

@Test
public void testNonEnum() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, 0, "values", "()[LFoo;", null, null);
    m.visitInsn(Opcodes.NOP);

    filter.filter(m, context, output);/*from  w  w  w .j  a  va  2  s  .c om*/

    assertIgnored();
}

From source file:org.jacoco.core.internal.analysis.filter.GroovyGeneratedFilterTest.java

License:Open Source License

@Test
public void testNoAnnotations() {
    final MethodNode m = new MethodNode(InstrSupport.ASM_API_VERSION, 0, "hashCode", "()I", null, null);

    m.visitInsn(Opcodes.ICONST_0);
    m.visitInsn(Opcodes.IRETURN);//w ww  .  j av a 2 s .  c  o m

    filter.filter("Foo", "java/lang/Object", m, this);

    assertNull(fromInclusive);
    assertNull(toInclusive);
}