public boolean rFlagFunctionForRecompileOnce(StatementBlock sb,boolean inLoop){
  boolean ret=false;
  if (sb instanceof FunctionStatementBlock) {
    FunctionStatementBlock fsb=(FunctionStatementBlock)sb;
    FunctionStatement fstmt=(FunctionStatement)fsb.getStatement(0);
    for (    StatementBlock c : fstmt.getBody())     ret|=rFlagFunctionForRecompileOnce(c,inLoop);
  }
 else   if (sb instanceof WhileStatementBlock) {
    ret=true;
  }
 else   if (sb instanceof IfStatementBlock) {
    IfStatementBlock isb=(IfStatementBlock)sb;
    IfStatement istmt=(IfStatement)isb.getStatement(0);
    ret|=(inLoop && isb.requiresPredicateRecompilation());
    for (    StatementBlock c : istmt.getIfBody())     ret|=rFlagFunctionForRecompileOnce(c,inLoop);
    for (    StatementBlock c : istmt.getElseBody())     ret|=rFlagFunctionForRecompileOnce(c,inLoop);
  }
 else   if (sb instanceof ForStatementBlock) {
    ret=true;
  }
 else {
    ret|=(inLoop && sb.requiresRecompilation());
  }
  return ret;
}

public boolean rFlagFunctionForRecompileOnce ( StatementBlock sb , boolean inLoop ) { boolean ret = false ; if ( sb instanceof FunctionStatementBlock ) { FunctionStatementBlock fsb = ( FunctionStatementBlock ) sb ; FunctionStatement fstmt = ( FunctionStatement ) fsb . getStatement ( 0 ) ; for ( StatementBlock c : fstmt . getBody ( ) ) ret |= rFlagFunctionForRecompileOnce ( c , inLoop ) ; } else if ( sb instanceof WhileStatementBlock ) { ret = true ; } else if ( sb instanceof IfStatementBlock ) { IfStatementBlock isb = ( IfStatementBlock ) sb ; IfStatement istmt = ( IfStatement ) isb . getStatement ( 0 ) ; ret |= ( inLoop && isb . requiresPredicateRecompilation ( ) ) ; for ( StatementBlock c : istmt . getIfBody ( ) ) ret |= rFlagFunctionForRecompileOnce ( c , inLoop ) ; for ( StatementBlock c : istmt . getElseBody ( ) ) ret |= rFlagFunctionForRecompileOnce ( c , inLoop ) ; } else if ( sb instanceof ForStatementBlock ) { ret = true ; } else { ret |= ( inLoop && sb . requiresRecompilation ( ) ) ; } return ret ; }
returns true if this statementblock requires recompilation inside a loop statement block .
