Package railo.transformer.bytecode.statement

Examples of railo.transformer.bytecode.statement.FlowControlFinal


    return (FlowControlContinue) getAncestorFCStatement(stat, finallyLabels, FlowControl.CONTINUE,label);
  }

  private static FlowControl getAncestorFCStatement(Statement stat, List<FlowControlFinal> finallyLabels, int flowType, String label) {
    Statement parent = stat;
    FlowControlFinal fcf;
    while(true)  {
      parent=parent.getParent();
      if(parent==null)return null;
      if(
         ((flowType==FlowControl.RETRY && parent instanceof FlowControlRetry) ||
View Full Code Here


    else  end=((FlowControlRetry)fc).getRetryLabel();

    // first jump to all final labels
    FlowControlFinal[] arr = finallyLabels.toArray(new FlowControlFinal[finallyLabels.size()]);
    if(arr.length>0) {
      FlowControlFinal fcf;
      for(int i=0;i<arr.length;i++){
        fcf=arr[i];
       
        // first
        if(i==0) {
          adapter.visitJumpInsn(Opcodes.GOTO, fcf.getFinalEntryLabel());
        }
       
        // last
        if(arr.length==i+1) fcf.setAfterFinalGOTOLabel(end);
        else fcf.setAfterFinalGOTOLabel(arr[i+1].getFinalEntryLabel());
      }
     
    }
    else bc.getAdapter().visitJumpInsn(Opcodes.GOTO, end);
  }
View Full Code Here

TOP

Related Classes of railo.transformer.bytecode.statement.FlowControlFinal

Copyright © 2018 www.massapicom. 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.