diff -r 8e638442522a -r 732510cc3538 src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java --- a/src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java Fri Jan 29 16:54:52 2010 -0800 +++ b/src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java Mon Feb 01 17:05:35 2010 -0800 @@ -149,11 +149,7 @@ JCFieldAccess fieldFrame = (JCFieldAccess)frame; if ("class".contentEquals(fieldFrame.name)) { p.type = TargetType.CLASS_LITERAL; - if (fieldFrame.selected instanceof JCAnnotatedType) { - p.pos = TreeInfo.typeIn(fieldFrame).pos; - } else if (fieldFrame.selected instanceof JCArrayTypeTree) { - p.pos = fieldFrame.selected.pos; - } + p.pos = TreeInfo.innermostType(fieldFrame.selected).pos; } else throw new AssertionError(); return p;