blob: f9885e64b257fb8454fbfb1d16f3e78ea0700273 [file] [log] [blame]
/**
* Create some objects and store them into an instance field.
*/
public class Main {
/**
* Entry point.
*/
public static void main(String[] args) {
Holder holder = new Holder();
Blah blah = new Blah();
/* strictly speaking, this should fail */
holder.mValue = blah;
System.out.println("Assignment was allowed");
/* try to use the reference; should fail */
try {
holder.mValue.run();
System.err.println("ERROR: did not get expected ICCE");
} catch (IncompatibleClassChangeError icce) {
System.out.println("Got expected IncompatibleClassChangeError");
}
/* for fun, verify that it's the "alternate" type */
//Comparable cmpx = holder.mValue; /* compiler rejects */
Comparable cmp = (Comparable) holder.mValue;
cmp.compareTo(cmp);
System.out.println("Done");
}
}