From: aclement Date: Thu, 28 Apr 2011 17:57:29 +0000 (+0000) Subject: 318237: diagnostics X-Git-Tag: V1_6_12M1~53 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2d239289d269387f6f45087607ffe82054406320;p=aspectj.git 318237: diagnostics --- diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java index 222a4f2d1..fcf61a085 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java @@ -256,9 +256,14 @@ public class BcelTypeMunger extends ConcreteTypeMunger { } private boolean mungeNewAnnotationOnType(BcelClassWeaver weaver, AnnotationOnTypeMunger munger) { - // FIXME asc this has already been done up front, need to do it here - // too? - weaver.getLazyClassGen().addAnnotation(((BcelAnnotation) munger.getNewAnnotation()).getBcelAnnotation()); + // FIXME asc this has already been done up front, need to do it here too? + try { + BcelAnnotation anno = (BcelAnnotation) munger.getNewAnnotation(); + weaver.getLazyClassGen().addAnnotation(anno.getBcelAnnotation()); + } catch (ClassCastException cce) { + throw new IllegalStateException("DiagnosticsFor318237: The typemunger "+munger+" contains an annotation of type "+ + munger.getNewAnnotation().getClass().getName()+" when it should be a BcelAnnotation",cce); + } return true; }