Community
Participate
Working Groups
reported on skype: You should resolve this member and call getAnnotationOfType() on the result... java.lang.UnsupportedOperationException: You should resolve this member and call getAnnotationOfType() on the result... at org.aspectj.weaver.ResolvedMemberImpl.getAnnotationOfType(ResolvedMemberImpl.java:1239) at org.aspectj.weaver.JoinPointSignature.getAnnotationOfType(JoinPointSignature.java:87) at org.aspectj.weaver.patterns.ExactAnnotationTypePattern.matches(ExactAnnotationTypePattern.java:124) at org.aspectj.weaver.patterns.ExactAnnotationTypePattern.matches(ExactAnnotationTypePattern.java:96) at org.aspectj.weaver.patterns.SignaturePattern.matchesAnnotations(SignaturePattern.java:713) at org.aspectj.weaver.patterns.SignaturePattern.matchesExactly(SignaturePattern.java:372) at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:320) at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:202) at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137) at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:55) at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137) at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:51) at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137) at org.aspectj.weaver.patterns.OrPointcut.matchInternal(OrPointcut.java:54) at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137) at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:113) at org.aspectj.weaver.Checker.match(Checker.java:86) at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:3156) at org.aspectj.weaver.bcel.BcelClassWeaver.matchInvokeInstruction(BcelClassWeaver.java:3080) at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2762) at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2542)
Fixed up. The problem here is that we often get away with just passing annotation types around - it isn't often that users match on annotation values. Here annotation values were being used to match against the fake member created to represent an ITD, the fake member only had the annotation types put on it. I fleshed it out to also copy the values.