# HG changeset patch # User mcimadamore # Date 1289832081 0 # Node ID 49e5caf5b8548f2d404c6836d82d42b228b55908 # Parent 26dfa4a695934af200d43fe24c7e06d06487bcf8 6999635: Multicatch: crash while compiling simple code with a multicatch parameter Summary: missing erasure when computing stackmaps leads to assertion error Reviewed-by: darcy diff -r 26dfa4a69593 -r 49e5caf5b854 langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Mon Nov 15 13:50:53 2010 +0000 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Mon Nov 15 14:41:21 2010 +0000 @@ -993,7 +993,9 @@ /** Enter an inner class into the `innerClasses' set/queue. */ void enterInner(ClassSymbol c) { - assert !c.type.isCompound(); + if (c.type.isCompound()) { + throw new AssertionError("Unexpected intersection type: " + c.type); + } try { c.complete(); } catch (CompletionFailure ex) { diff -r 26dfa4a69593 -r 49e5caf5b854 langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java --- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Mon Nov 15 13:50:53 2010 +0000 +++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Mon Nov 15 14:41:21 2010 +0000 @@ -1304,7 +1304,7 @@ stackCount = 0; for (int i=0; i