Example usage for org.objectweb.asm MethodVisitor visitMultiANewArrayInsn

List of usage examples for org.objectweb.asm MethodVisitor visitMultiANewArrayInsn

Introduction

In this page you can find the example usage for org.objectweb.asm MethodVisitor visitMultiANewArrayInsn.

Prototype

public void visitMultiANewArrayInsn(final String descriptor, final int numDimensions) 

Source Link

Document

Visits a MULTIANEWARRAY instruction.

Usage

From source file:org.spongepowered.test.decompile.MethodTests.java

License:Open Source License

@Test
public void testMultiNewArray() {
    TestMethodBuilder builder = new TestMethodBuilder("test_mth", "()V");
    MethodVisitor mv = builder.getGenerator();
    Label start = new Label();
    Label l1 = new Label();
    Label end = new Label();
    mv.visitLabel(start);//from w ww.  jav a 2  s  .c  o  m
    mv.visitInsn(ICONST_5);
    mv.visitIntInsn(BIPUSH, 6);
    mv.visitMultiANewArrayInsn("[[I", 2);
    mv.visitVarInsn(ASTORE, 0);
    mv.visitLabel(l1);
    mv.visitInsn(RETURN);
    mv.visitLabel(end);
    mv.visitLocalVariable("a", "[[I", null, l1, end, 0);

    String insn = TestHelper.getAsString(builder.finish(), "test_mth");
    String good = "int[][] a = new int[5][6];";
    Assert.assertEquals(good, insn);
}

From source file:org.springframework.migrationanalyzer.contributions.bytecode.DelegatingMethodVisitor.java

License:Apache License

@Override
public void visitMultiANewArrayInsn(String desc, int dims) {
    for (MethodVisitor delegate : this.delegates) {
        delegate.visitMultiANewArrayInsn(desc, dims);
    }//from  w  ww. j a  va 2 s.  com
}