/** A newarray statement */ protected void caseNewArrayStmt(Local dest, NewArrayExpr e) { caseAnyNewStmt(dest, e); }
if (!(lhs.getType() instanceof RefType) && !(lhs.getType() instanceof ArrayType)) { if (rhs instanceof InvokeExpr) { caseInvokeStmt(null, (InvokeExpr) rhs); return; caseUninterestingStmt(s); return; caseInvokeStmt((Local) lhs, (InvokeExpr) rhs); return; caseCopyStmt((Local) lhs, (Local) rhs); } else if (rhs instanceof InstanceFieldRef) { caseLoadStmt((Local) lhs, (InstanceFieldRef) rhs); } else if (rhs instanceof ArrayRef) { caseArrayLoadStmt((Local) lhs, (ArrayRef) rhs); } else if (rhs instanceof StaticFieldRef) { caseGlobalLoadStmt((Local) lhs, (StaticFieldRef) rhs); } else if (rhs instanceof NewExpr) { caseNewStmt((Local) lhs, (NewExpr) rhs); } else if (rhs instanceof NewArrayExpr) { caseNewArrayStmt((Local) lhs, (NewArrayExpr) rhs); } else if (rhs instanceof NewMultiArrayExpr) { caseNewMultiArrayStmt((Local) lhs, (NewMultiArrayExpr) rhs); } else if (rhs instanceof CastExpr) { CastExpr r = (CastExpr) rhs; Value rv = r.getOp(); if (rv instanceof Constant) { caseAssignConstStmt(lhs, (Constant) rv);
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); } }
/** A statement of the form l = (cl) v; */ protected void caseCastStmt(Local dest, Local src, CastExpr c) { // default is to just ignore the cast caseCopyStmt(dest, src); }
/** A statement of the form l = (cl) v; */ protected void caseCastStmt( Local dest, Local src, CastExpr c ) { // default is to just ignore the cast caseCopyStmt( dest, src ); } /** An identity statement assigning a parameter to a local. */
&& ! (lhs.getType() instanceof ArrayType) ) { if( rhs instanceof InvokeExpr ) { caseInvokeStmt( null, (InvokeExpr) rhs ); return; caseUninterestingStmt( s ); return; caseInvokeStmt( (Local) lhs, (InvokeExpr) rhs ); return; caseCopyStmt( (Local) lhs, (Local) rhs ); } else if( rhs instanceof InstanceFieldRef ) { caseLoadStmt( (Local) lhs, (InstanceFieldRef) rhs ); } else if( rhs instanceof ArrayRef ) { caseArrayLoadStmt( (Local) lhs, (ArrayRef) rhs ); } else if( rhs instanceof StaticFieldRef ) { caseGlobalLoadStmt( (Local) lhs, (StaticFieldRef) rhs ); } else if( rhs instanceof NewExpr ) { caseNewStmt( (Local) lhs, (NewExpr) rhs ); } else if( rhs instanceof NewArrayExpr ) { caseNewArrayStmt( (Local) lhs, (NewArrayExpr) rhs ); } else if( rhs instanceof NewMultiArrayExpr ) { caseNewMultiArrayStmt( (Local) lhs, (NewMultiArrayExpr) rhs ); } else if( rhs instanceof CastExpr ) { CastExpr r = (CastExpr) rhs; Value rv = r.getOp(); if( rv instanceof Constant ) { caseAssignConstStmt( lhs, (Constant) rv );
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) {
/** A anewarray statement */ protected void caseNewMultiArrayStmt(Local dest, NewMultiArrayExpr e) { caseAnyNewStmt(dest, e); }
/** A statement of the form l = (cl) v; */ protected void caseCastStmt( Local dest, Local src, CastExpr c ) { // default is to just ignore the cast caseCopyStmt( dest, src ); } /** An identity statement assigning a parameter to a local. */
&& ! (lhs.getType() instanceof ArrayType) ) { if( rhs instanceof InvokeExpr ) { caseInvokeStmt( null, (InvokeExpr) rhs ); return; caseUninterestingStmt( s ); return; caseInvokeStmt( (Local) lhs, (InvokeExpr) rhs ); return; caseCopyStmt( (Local) lhs, (Local) rhs ); } else if( rhs instanceof InstanceFieldRef ) { caseLoadStmt( (Local) lhs, (InstanceFieldRef) rhs ); } else if( rhs instanceof ArrayRef ) { caseArrayLoadStmt( (Local) lhs, (ArrayRef) rhs ); } else if( rhs instanceof StaticFieldRef ) { caseGlobalLoadStmt( (Local) lhs, (StaticFieldRef) rhs ); } else if( rhs instanceof NewExpr ) { caseNewStmt( (Local) lhs, (NewExpr) rhs ); } else if( rhs instanceof NewArrayExpr ) { caseNewArrayStmt( (Local) lhs, (NewArrayExpr) rhs ); } else if( rhs instanceof NewMultiArrayExpr ) { caseNewMultiArrayStmt( (Local) lhs, (NewMultiArrayExpr) rhs ); } else if( rhs instanceof CastExpr ) { CastExpr r = (CastExpr) rhs; Value rv = r.getOp(); if( rv instanceof Constant ) { caseAssignConstStmt( lhs, (Constant) rv );
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) {
/** A new statement */ protected void caseNewStmt(Local dest, NewExpr e) { caseAnyNewStmt(dest, e); }
/** A newarray statement */ protected void caseNewArrayStmt( Local dest, NewArrayExpr e ) { caseAnyNewStmt( dest, e ); } /** A anewarray statement */
/** A anewarray statement */ protected void caseNewMultiArrayStmt( Local dest, NewMultiArrayExpr e ) { caseAnyNewStmt( dest, e ); } /** A method invocation. dest is null if there is no reference type return value. */
/** A anewarray statement */ protected void caseNewMultiArrayStmt( Local dest, NewMultiArrayExpr e ) { caseAnyNewStmt( dest, e ); } /** A method invocation. dest is null if there is no reference type return value. */
/** A new statement */ protected void caseNewStmt( Local dest, NewExpr e ) { caseAnyNewStmt( dest, e ); } /** A newarray statement */
/** A new statement */ protected void caseNewStmt( Local dest, NewExpr e ) { caseAnyNewStmt( dest, e ); } /** A newarray statement */
/** A newarray statement */ protected void caseNewArrayStmt( Local dest, NewArrayExpr e ) { caseAnyNewStmt( dest, e ); } /** A anewarray statement */