Example usage for org.objectweb.asm MethodVisitor visitVarInsn

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

Introduction

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

Prototype

public void visitVarInsn(final int opcode, final int var) 

Source Link

Document

Visits a local variable instruction.

Usage

From source file:com.gargoylesoftware.js.nashorn.internal.codegen.types.LongType.java

License:Open Source License

@Override
public Type load(final MethodVisitor method, final int slot) {
    assert slot != -1;
    method.visitVarInsn(LLOAD, slot);
    return LONG;//w ww.  java2s  .  c o  m
}

From source file:com.gargoylesoftware.js.nashorn.internal.codegen.types.LongType.java

License:Open Source License

@Override
public void store(final MethodVisitor method, final int slot) {
    assert slot != -1;
    method.visitVarInsn(LSTORE, slot);
}

From source file:com.gargoylesoftware.js.nashorn.internal.codegen.types.NumberType.java

License:Open Source License

@Override
public Type load(final MethodVisitor method, final int slot) {
    assert slot != -1;
    method.visitVarInsn(DLOAD, slot);
    return NUMBER;
}

From source file:com.gargoylesoftware.js.nashorn.internal.codegen.types.NumberType.java

License:Open Source License

@Override
public void store(final MethodVisitor method, final int slot) {
    assert slot != -1;
    method.visitVarInsn(DSTORE, slot);
}

From source file:com.gargoylesoftware.js.nashorn.internal.codegen.types.ObjectType.java

License:Open Source License

@Override
public void store(final MethodVisitor method, final int slot) {
    assert slot != -1;
    method.visitVarInsn(ASTORE, slot);
}

From source file:com.github.bmsantos.core.cola.injector.ErrorsClassVisitor.java

License:Apache License

private void injectTestMethod() {

    final MethodVisitor mv = classVisitor.visitMethod(ACC_PUBLIC, METHOD_NAME, "()V", null, null);
    mv.visitCode();/* www  .  ja va 2 s .com*/
    mv.visitVarInsn(ALOAD, 0);
    mv.visitLdcInsn(errors);
    mv.visitMethodInsn(INVOKESTATIC, "org/junit/Assert", "fail", "(Ljava/lang/String;)V", false);
    mv.visitInsn(RETURN);
    mv.visitAnnotation("Lorg/junit/Test;", true);
    mv.visitEnd();
    mv.visitMaxs(0, 0);
}

From source file:com.github.bmsantos.core.cola.injector.InjectorClassVisitor.java

License:Apache License

private void injectTestMethod(final String feature, final String scenario, final String story,
        final String projectionValues, final String reports) {

    final MethodVisitor mv = infoClassVisitor.visitMethod(ACC_PUBLIC,
            String.format(METHOD_NAME_FORMAT, feature, scenario), "()V", null, null);
    mv.visitCode();//w w  w. j  a va 2  s.c  om
    mv.visitVarInsn(ALOAD, 0);
    mv.visitLdcInsn(feature);
    mv.visitLdcInsn(scenario);
    mv.visitLdcInsn(story);
    mv.visitLdcInsn(projectionValues);
    mv.visitLdcInsn(reports);
    mv.visitVarInsn(ALOAD, 0);
    mv.visitMethodInsn(INVOKESTATIC, "com/github/bmsantos/core/cola/story/processor/StoryProcessor", "process",
            "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V",
            false);
    mv.visitInsn(RETURN);
    mv.visitAnnotation("Lorg/junit/Test;", true);
    mv.visitEnd();
    mv.visitMaxs(0, 0);
}

From source file:com.github.bmsantos.core.cola.injector.InjectorClassVisitor.java

License:Apache License

private void injectIgnoreMethod(final String feature, final String scenario) {
    final MethodVisitor mv = infoClassVisitor.visitMethod(ACC_PUBLIC,
            String.format(IGNORED_METHOD_NAME_FORMAT, feature, scenario), "()V", null, null);
    mv.visitCode();//from  w w  w.  j  a v  a2s  . c  o m
    mv.visitVarInsn(ALOAD, 0);
    mv.visitLdcInsn(feature);
    mv.visitLdcInsn(scenario);
    mv.visitMethodInsn(INVOKESTATIC, "com/github/bmsantos/core/cola/story/processor/StoryProcessor", "ignore",
            "(Ljava/lang/String;Ljava/lang/String;)V", false);
    mv.visitInsn(RETURN);
    mv.visitAnnotation("Lorg/junit/Test;", true);
    mv.visitEnd();
    mv.visitMaxs(0, 0);
}

From source file:com.github.fge.grappa.transform.process.GroupClassGenerator.java

License:Apache License

private void generateConstructor(ClassWriter cw) {
    MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, "<init>", CodegenUtils.sig(void.class, String.class), null,
            null);/*w ww .j  a v  a 2  s. c om*/
    mv.visitVarInsn(ALOAD, 0);
    mv.visitVarInsn(ALOAD, 1);
    mv.visitMethodInsn(INVOKESPECIAL, getBaseType().getInternalName(), "<init>",
            CodegenUtils.sig(void.class, String.class), false);
    mv.visitInsn(RETURN);
    mv.visitMaxs(0, 0); // trigger automatic computing
}

From source file:com.github.jasmo.obfuscate.ScrambleStrings.java

License:Open Source License

private void createUnscramble() {
    MethodVisitor mv = unscrambleClass.visitMethod(ACC_PUBLIC | ACC_STATIC, CALL_NAME, CALL_DESC, null, null);
    mv.visitCode();/*w w w . ja  v  a  2s.  c  o  m*/
    mv.visitTypeInsn(NEW, "java/lang/String");
    mv.visitInsn(DUP);
    mv.visitMethodInsn(INVOKESTATIC, "java/util/Base64", "getDecoder", "()Ljava/util/Base64$Decoder;", false);
    mv.visitFieldInsn(GETSTATIC, unscrambleClass.name, FIELD_NAME, "[Ljava/lang/String;");
    mv.visitVarInsn(ILOAD, 0);
    mv.visitInsn(AALOAD);
    mv.visitMethodInsn(INVOKEVIRTUAL, "java/util/Base64$Decoder", "decode", "(Ljava/lang/String;)[B", false);
    mv.visitLdcInsn("UTF-8");
    mv.visitMethodInsn(INVOKESPECIAL, "java/lang/String", "<init>", "([BLjava/lang/String;)V", false);
    mv.visitInsn(ARETURN);
    mv.visitMaxs(0, 0);
    mv.visitEnd();
}