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 void identityRef( IdentityRef r ) { handleIndent(); if( r instanceof ThisRef ) { literal("this"); } else throw new RuntimeException(); }
/** An identity statement assigning a parameter to a local. */ protected void caseIdentityStmt( Local dest, IdentityRef src ) {}