/** A return statement returning a constant. */ protected void caseReturnConstStmt(Constant val) { // default is uninteresting caseUninterestingStmt(statement); }
/** A throw statement */ protected void caseThrowStmt(Local thrownException) { caseUninterestingStmt(statement); }
/** A catch statement */ protected void caseCatchStmt(Local dest, CaughtExceptionRef cer) { caseUninterestingStmt(statement); }
public final void caseIdentityStmt(IdentityStmt s) { statement = s; Value lhs = s.getLeftOp(); Value rhs = s.getRightOp(); if (!(lhs.getType() instanceof RefType) && !(lhs.getType() instanceof ArrayType)) { caseUninterestingStmt(s); return; } Local llhs = (Local) lhs; if (rhs instanceof CaughtExceptionRef) { caseCatchStmt(llhs, (CaughtExceptionRef) rhs); } else { IdentityRef rrhs = (IdentityRef) rhs; caseIdentityStmt(llhs, rrhs); } }
return; caseUninterestingStmt(s); return;
/** A throw statement */ protected void caseThrowStmt( Local thrownException ) { caseUninterestingStmt(statement); } /** A catch statement */
/** A catch statement */ protected void caseCatchStmt( Local dest, CaughtExceptionRef cer ) { caseUninterestingStmt(statement); } /** Any other statement */
/** A return statement returning a constant. */ protected void caseReturnConstStmt( Constant val ) { // default is uninteresting caseUninterestingStmt( statement ); } /** Any type of new statement (NewStmt, NewArrayStmt, NewMultiArrayStmt) */
/** A throw statement */ protected void caseThrowStmt( Local thrownException ) { caseUninterestingStmt(statement); } /** A catch statement */
/** A return statement returning a constant. */ protected void caseReturnConstStmt( Constant val ) { // default is uninteresting caseUninterestingStmt( statement ); } /** Any type of new statement (NewStmt, NewArrayStmt, NewMultiArrayStmt) */
/** A catch statement */ protected void caseCatchStmt( Local dest, CaughtExceptionRef cer ) { caseUninterestingStmt(statement); } /** Any other statement */
public final void caseIdentityStmt(IdentityStmt s) { statement = s; Value lhs = s.getLeftOp(); Value rhs = s.getRightOp(); if( !( lhs.getType() instanceof RefType ) && !(lhs.getType() instanceof ArrayType ) ) { caseUninterestingStmt( s ); return; } Local llhs = (Local) lhs; if( rhs instanceof CaughtExceptionRef ) { caseCatchStmt( llhs, (CaughtExceptionRef) rhs ); } else { IdentityRef rrhs = (IdentityRef) rhs; caseIdentityStmt( llhs, rrhs ); } } public final void caseThrowStmt( ThrowStmt s) {
public final void caseIdentityStmt(IdentityStmt s) { statement = s; Value lhs = s.getLeftOp(); Value rhs = s.getRightOp(); if( !( lhs.getType() instanceof RefType ) && !(lhs.getType() instanceof ArrayType ) ) { caseUninterestingStmt( s ); return; } Local llhs = (Local) lhs; if( rhs instanceof CaughtExceptionRef ) { caseCatchStmt( llhs, (CaughtExceptionRef) rhs ); } else { IdentityRef rrhs = (IdentityRef) rhs; caseIdentityStmt( llhs, rrhs ); } } public final void caseThrowStmt( ThrowStmt s) {
return; caseUninterestingStmt( s ); return;
return; caseUninterestingStmt( s ); return;