--- old/src/share/classes/com/sun/tools/javac/jvm/Gen.java 2014-05-09 16:27:54.874327991 -0400 +++ new/src/share/classes/com/sun/tools/javac/jvm/Gen.java 2014-05-09 16:27:54.775323788 -0400 @@ -557,7 +557,6 @@ ListBuffer fieldTAs = new ListBuffer<>(); ListBuffer nonfieldTAs = new ListBuffer<>(); for (TypeCompound ta : tas) { - Assert.check(ta.getPosition().type != TargetType.UNKNOWN); if (ta.getPosition().type == TargetType.FIELD) { fieldTAs.add(ta); } else { @@ -1932,10 +1931,7 @@ || code.meth.getKind() == javax.lang.model.element.ElementKind.STATIC_INIT; for (Attribute.TypeCompound ta : meth.getRawTypeAttributes()) { - if (ta.hasUnknownPosition()) - ta.tryFixPosition(); - - if (ta.position.matchesPos(treePos)) + if (ta.position != null && ta.position.matchesPos(treePos)) ta.position.updatePosOffset(code.cp); } @@ -1943,10 +1939,7 @@ return; for (Attribute.TypeCompound ta : meth.owner.getRawTypeAttributes()) { - if (ta.hasUnknownPosition()) - ta.tryFixPosition(); - - if (ta.position.matchesPos(treePos)) + if (ta.position != null && ta.position.matchesPos(treePos)) ta.position.updatePosOffset(code.cp); } @@ -1956,10 +1949,7 @@ continue; for (Attribute.TypeCompound ta : s.getRawTypeAttributes()) { - if (ta.hasUnknownPosition()) - ta.tryFixPosition(); - - if (ta.position.matchesPos(treePos)) + if (ta.position != null && ta.position.matchesPos(treePos)) ta.position.updatePosOffset(code.cp); } } @@ -2331,8 +2321,8 @@ } public void visitTypeTest(JCInstanceOf tree) { - setTypeAnnotationPositions(tree.pos); genExpr(tree.expr, tree.expr.type).load(); + setTypeAnnotationPositions(tree.pos); code.emitop2(instanceof_, makeRef(tree.pos(), tree.clazz.type)); result = items.makeStackItem(syms.booleanType); }