if (left instanceof JFieldAccessExpression) { if (!varsUsed.contains(((JFieldAccessExpression)left).getIdent()) && !HasSideEffects.hasSideEffects(right) && !HasSideEffects.hasSideEffects(left)) return null; } else if (left instanceof JLocalVariableExpression) { if (!varsUsed.contains(((JLocalVariableExpression)left).getVariable()) && !HasSideEffects.hasSideEffects(right) && !HasSideEffects.hasSideEffects(left)) return null; }
if (!varsUsed.contains(getVariable(left)) && !HasSideEffects.hasSideEffects(right) && !HasSideEffects.hasSideEffects(left)) return null;
    public Object visitAssignmentExpression(JAssignmentExpression self,					    JExpression left,					    JExpression right) {	//remove an assignment expression if it 	if (left instanceof JFieldAccessExpression) {	    if (!varsUsed.contains(((JFieldAccessExpression)left).getIdent()) &&		!HasSideEffects.hasSideEffects(right) &&		!HasSideEffects.hasSideEffects(left))		return null;	} else if (left instanceof JLocalVariableExpression) {	    if (!varsUsed.contains(((JLocalVariableExpression)left).getVariable()) &&		!HasSideEffects.hasSideEffects(right) &&		!HasSideEffects.hasSideEffects(left))		return null;	}		return doBinaryExpression(self, left, right);    }