1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Tue Sep 13 14:14:57 2011 +0100 1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Tue Sep 13 14:15:22 2011 +0100 1.3 @@ -863,10 +863,10 @@ 1.4 } 1.5 if (c.type.tag != CLASS) return; // arrays 1.6 if (pool != null && // pool might be null if called from xClassName 1.7 - c.owner.kind != PCK && 1.8 + c.owner.enclClass() != null && 1.9 (innerClasses == null || !innerClasses.contains(c))) { 1.10 // log.errWriter.println("enter inner " + c);//DEBUG 1.11 - if (c.owner.kind == TYP) enterInner((ClassSymbol)c.owner); 1.12 + enterInner(c.owner.enclClass()); 1.13 pool.put(c); 1.14 pool.put(c.name); 1.15 if (innerClasses == null) { 1.16 @@ -1505,6 +1505,13 @@ 1.17 default : Assert.error(); 1.18 } 1.19 } 1.20 + 1.21 + if (c.trans_local != null) { 1.22 + for (ClassSymbol local : c.trans_local) { 1.23 + enterInner(local); 1.24 + } 1.25 + } 1.26 + 1.27 databuf.appendChar(fieldsCount); 1.28 writeFields(c.members().elems); 1.29 databuf.appendChar(methodsCount);