private int endCheckIf ( ) { Node th , el ; int rv = END_UNREACHED ; th = next ; el = ( ( Jump ) this ) . target ; rv = th . endCheck ( ) ; if ( el != null ) rv |= el . endCheck ( ) ; else rv |= END_DROPS_OFF ; return rv ; }
Returns in the then and else blocks must be consistent with each other . If there is no else block then the return statement can fall through .