Package org.objectweb.asm.commons

Examples of org.objectweb.asm.commons.GeneratorAdapter.ifZCmp()


      Method m = Method.getMethod("void checkAndSetF(int)");
      GeneratorAdapter ga = new GeneratorAdapter(ACC_PUBLIC, m, mv);
      ga.visitCode();
      ga.loadArg(0);
      Label label = new Label();
      ga.ifZCmp(GeneratorAdapter.LT, label);
      ga.loadThis();
      ga.loadArg(0);
      ga.putField(bean, "f", Type.INT_TYPE);
      Label end = new Label();
      ga.goTo(end);
View Full Code Here


    mg.loadArg(0);
    mg.invokeVirtual(Type.getType(Schema.class), getMethod(SchemaHash.class, "getSchemaHash"));
    mg.invokeVirtual(Type.getType(SchemaHash.class), getMethod(String.class, "toString"));
    mg.invokeVirtual(Type.getType(String.class), getMethod(boolean.class, "equals", Object.class));
    Label hashEquals = mg.newLabel();
    mg.ifZCmp(GeneratorAdapter.NE, hashEquals);
    mg.throwException(Type.getType(IllegalArgumentException.class), "Schema not match.");
    mg.mark(hashEquals);

    // this.schema = schema;
    mg.loadThis();
View Full Code Here

    mg.loadArg(0);
    mg.invokeVirtual(Type.getType(Schema.class), getMethod(SchemaHash.class, "getSchemaHash"));
    mg.invokeVirtual(Type.getType(SchemaHash.class), getMethod(String.class, "toString"));
    mg.invokeVirtual(Type.getType(String.class), getMethod(boolean.class, "equals", Object.class));
    Label hashEquals = mg.newLabel();
    mg.ifZCmp(GeneratorAdapter.NE, hashEquals);
    mg.throwException(Type.getType(IllegalArgumentException.class), "Schema not match.");
    mg.mark(hashEquals);

    // this.schema = schema;
    mg.loadThis();
View Full Code Here

      Label doFalse = new Label();
      Label end = new Label();

      if(operation==AND) {
        left.writeOut(bc, MODE_VALUE);
          adapter.ifZCmp(Opcodes.IFEQ, doFalse);
         
          right.writeOut(bc, MODE_VALUE);
          adapter.ifZCmp(Opcodes.IFEQ, doFalse);
          adapter.push(true);
         
View Full Code Here

      if(operation==AND) {
        left.writeOut(bc, MODE_VALUE);
          adapter.ifZCmp(Opcodes.IFEQ, doFalse);
         
          right.writeOut(bc, MODE_VALUE);
          adapter.ifZCmp(Opcodes.IFEQ, doFalse);
          adapter.push(true);
         
          adapter.visitJumpInsn(Opcodes.GOTO, end);
          adapter.visitLabel(doFalse);
View Full Code Here

          adapter.push(false);
          adapter.visitLabel(end);
      }
      if(operation==OR) {
        left.writeOut(bc, MODE_VALUE);
          adapter.ifZCmp(Opcodes.IFNE, doFalse);

          right.writeOut(bc, MODE_VALUE);
          adapter.ifZCmp(Opcodes.IFNE, doFalse);

          adapter.push(false);
View Full Code Here

      if(operation==OR) {
        left.writeOut(bc, MODE_VALUE);
          adapter.ifZCmp(Opcodes.IFNE, doFalse);

          right.writeOut(bc, MODE_VALUE);
          adapter.ifZCmp(Opcodes.IFNE, doFalse);

          adapter.push(false);
          adapter.visitJumpInsn(Opcodes.GOTO, end);
          adapter.visitLabel(doFalse);
View Full Code Here

       
        Label l1 = new Label();
        Label l2 = new Label();
       
        expr.writeOut(bc, MODE_VALUE);
        adapter.ifZCmp(Opcodes.IFEQ,l1);
       
        adapter.visitInsn(Opcodes.ICONST_0);
        adapter.visitJumpInsn(Opcodes.GOTO, l2);
        adapter.visitLabel(l1);
        adapter.visitInsn(Opcodes.ICONST_1);
View Full Code Here

   
   
  }
  public void visitEnd(BytecodeContext bc) {
    GeneratorAdapter adapter = bc.getAdapter();
      adapter.ifZCmp(Opcodes.IFEQ, end);
      adapter.push(true);
     
      adapter.visitJumpInsn(Opcodes.GOTO, l2);
      adapter.visitLabel(end);
View Full Code Here

  }
 
  public void visitEndAfterCondition(BytecodeContext bc) {
    GeneratorAdapter adapter = bc.getAdapter();

    adapter.ifZCmp(Opcodes.IFNE, l3);
   
    adapter.visitLabel(lend);

    adapter.visitLocalVariable("i", "I", null, l1, lend, i);
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.