// example showing imprecision arising from static calls, such as may happen with Arrays.sort.
// we fix this by using type information to fix what things may point to, but more generally, could try to make object names more precise (e.g., include call-sites of static calls)
class C {
    static public void main(String[] args) /*throws Exception*/ {
	String [] aaaa = new String[1];
	Exception[] bbbb = new Exception[3];
	aaaa[0] = "Sdf";
	bbbb[0] = new RuntimeException();
	foo(aaaa);
	foo(bbbb);
	Exception e = bbbb[0];
    }   

    static void foo(Object[] o) {
	o[0] = o[1];
    }
}
