1 public class InnerClass { 2 3 void m() { 4 @A(1) Object o = new @A(2) Object(); 5 if (o instanceof @A(3) String) { 6 @A(4) String s = (@A(5) String) o; 7 } 8 9 class Inner { 10 11 void m() { 12 @B(1) Object o = new @B(2) Object(); 13 if (o instanceof @B(3) String) { 14 @B(4) String s = (@B(5) String) o; 15 } 16 } 17 } 18 19 new InnerClass() { 20 21 void m() { 22 @C(1) Object o = new @C(2) Object(); 23 if (o instanceof @C(3) String) { 24 @C(4) String s = (@C(5) String) o; 25 } 26 } 27 }; 28 29 o = new @D(2) Object(); 30 if (o instanceof @D(3) String) { 31 @D(4) String s = (@D(5) String) o; 32 } 33 } 34 } 35