Package org.objectweb.asm.commons

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


      mv.visitMethodInsn( Opcodes.INVOKEVIRTUAL, ARRAYLIST_CLASS.getInternalName(), "add", "(Ljava/lang/Object;)Z" );
      mv.pop();

      // } // for
      mv.iinc( l_i, 1 );
      mv.mark( test );
      mv.loadLocal( l_i );
      mv.loadLocal( l_len );
      mv.ifCmp( Type.INT_TYPE, mv.LT, again );

      mv.loadLocal( l_lst );
View Full Code Here


      {
        final GeneratorAdapter mv = this.mv();
        final ExpressionCompiler ec = expressionCompiler();
        final Label handled = mv.newLabel();

        final Label beginHandling = mv.mark();
        ec.compile( _node.argument( 0 ) );
        ec.compileExceptionalValueTest( _testForErrors );
        mv.goTo( handled );
        final Label endHandling = mv.mark();
View Full Code Here

        final Label beginHandling = mv.mark();
        ec.compile( _node.argument( 0 ) );
        ec.compileExceptionalValueTest( _testForErrors );
        mv.goTo( handled );
        final Label endHandling = mv.mark();

        for (int i = 0; i < _handledTypesReturningTrue.length; i++) {
          mv.catchException( beginHandling, endHandling, _handledTypesReturningTrue[ i ] );
          mv.visitVarInsn( Opcodes.ASTORE, method().newLocal( 1 ) );
          ec.compileConst( Boolean.TRUE );
View Full Code Here

          mv.visitVarInsn( Opcodes.ASTORE, method().newLocal( 1 ) );
          ec.compileConst( Boolean.FALSE );
          mv.goTo( handled );
        }

        mv.mark( handled );
      }

    }, closure );
  }
View Full Code Here

    final Set<DelayedLet> outerSetsInTrueBranch = compileTrackingSetsOfOuterLets( _ifTrue );
    revertSetsOfOuterLets( outerSetsInTrueBranch, null );

    mv.visitJumpInsn( Opcodes.GOTO, done );
    mv.mark( notMet );

    final Set<DelayedLet> outerSetsInFalseBranch = compileTrackingSetsOfOuterLets( _ifFalse );
    revertSetsOfOuterLets( outerSetsInFalseBranch, outerSetsInTrueBranch );

    mv.mark( done );
View Full Code Here

    mv.mark( notMet );

    final Set<DelayedLet> outerSetsInFalseBranch = compileTrackingSetsOfOuterLets( _ifFalse );
    revertSetsOfOuterLets( outerSetsInFalseBranch, outerSetsInTrueBranch );

    mv.mark( done );
  }

  private final Set<DelayedLet> compileTrackingSetsOfOuterLets( final ExpressionNode _node ) throws CompilerException
  {
    final Object oldState = method().beginTrackingSetsOfOuterLets();
View Full Code Here

    mv.loadLocal( l_di );
    mv.putField( section().classType(), sub.getterName(), sub.arrayType() );

    // ~ } else {
    mv.goTo( alreadySet );
    mv.mark( isNull );

    // ~ ~ this.field = new DetailPrototype[ 0 ];
    mv.loadThis();
    mv.push( 0 );
    mv.newArray( sub.classType() );
View Full Code Here

    mv.newArray( sub.classType() );
    mv.putField( section().classType(), sub.getterName(), sub.arrayType() );

    // ~ }
    // }
    mv.mark( alreadySet );

    // return this.field;
    mv.loadThis();
    mv.getField( section().classType(), sub.getterName(), sub.arrayType() );
    mv.visitInsn( Opcodes.ARETURN );
View Full Code Here

    // return this.xy;
    mv.visitInsn( Opcodes.ARETURN );

    // } else
    // return this.xy;
    mv.mark( skipInit );
    mv.loadThis();
    section().getArrayAccessorForConstDataOnly( this.arrayNode ).compileCall( mv );
    mv.visitInsn( Opcodes.ARETURN );

    if (section().hasReset()) {
View Full Code Here

    // this.xy *=* new double[] { ... }
    mv.visitFieldInsn( Opcodes.PUTFIELD, section().classInternalName(), methodName(), arrayDescriptor() );

    // }
    // return this.xy;
    mv.mark( skipInit );
    mv.loadThis();
    mv.visitFieldInsn( Opcodes.GETFIELD, section().classInternalName(), methodName(), arrayDescriptor() );
    mv.visitInsn( Opcodes.ARETURN );
  }

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.