Community
Participate
Working Groups
I get that error dialog, with the Details panel as below. This is after updating to the latest AJDT via the update site, for an existing project that was working fine. Eclipse Version: 3.2.0 Build id: M20060628-1325 AJDT plugin: org.aspectj 1.5.3.20060802071129 org.eclipse.aspectj 1.4.1.20060802071129 java.lang.ClassCastException at org.aspectj.weaver.patterns.SignaturePattern.matchesAnnotations(SignaturePattern.java:477) at org.aspectj.weaver.patterns.SignaturePattern.matchesExactly(SignaturePattern.java:332) at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:289) at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:106) at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146) at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:51) at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146) at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:51) at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146) at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:71) at org.aspectj.weaver.Advice.match(Advice.java:112) at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:107) at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2805) at org.aspectj.weaver.bcel.BcelClassWeaver.matchInvokeInstruction(BcelClassWeaver.java:2746) at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2505) at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2331) at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:494) at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:119) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1597) at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1548) at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1328) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1124) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:451) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.queueForWeaving(AjPipeliningCompilerAdapter.java:389) at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterProcessing(AjPipeliningCompilerAdapter.java:377) at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$after$org_aspectj_ajdt_internal_compiler_CompilerAdapter$5$6b855184(CompilerAdapter.aj:98) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:533) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:891) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:246) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:165) at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:122) at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191) trouble in: public class org.jrig.keyvalue.KvbMixin extends java.lang.Object: TypeMungers: [(BcelTypeMunger ResolvedTypeMunger(Field, java.util.Map org.jrig.keyvalue.KvbMixinImpl.bindings)), (BcelTypeMunger ResolvedTypeMunger(Method, void org.jrig.keyvalue.KvbMixinImpl.bind(java.lang.String, java.lang.Object, java.lang.String, java.util.Map))), (BcelTypeMunger ResolvedTypeMunger(Method, void org.jrig.keyvalue.KvbMixinImpl.unbind(java.lang.String))), (BcelTypeMunger ResolvedTypeMunger(Method, org.jrig.keyvalue.IKeyValueBinding$BindingInfo org.jrig.keyvalue.KvbMixinImpl.infoForBinding(java.lang.String))), (BcelTypeMunger ResolvedTypeMunger(Method, java.util.List org.jrig.keyvalue.KvbMixinImpl.exposedBindings())), (BcelTypeMunger ResolvedTypeMunger(Method, java.lang.Class org.jrig.keyvalue.KvbMixinImpl.valueClassForBinding(java.lang.String)))] declares: [declare parents: @org.jrig.keyvalue.annotation.KeyValue * extends (org.jrig.keyvalue.IKeyValueBinding, org.jrig.keyvalue.KvbMixinImpl);] private static Throwable ajc$initFailureCause public static final org.jrig.keyvalue.KvbMixin ajc$perSingletonInstance static void <clinit>(): staticinitialization(void org.jrig.keyvalue.KvbMixin.<clinit>()) | catch java.lang.Throwable -> E0 | | INVOKESTATIC org.jrig.keyvalue.KvbMixin.ajc$postClinit ()V (line 31) | catch java.lang.Throwable -> E0 | GOTO L0 | E0: ASTORE_0 | ALOAD_0 | PUTSTATIC org.jrig.keyvalue.KvbMixin.ajc$initFailureCause Ljava/lang/Throwable; | L0: RETURN staticinitialization(void org.jrig.keyvalue.KvbMixin.<clinit>()) end static void <clinit>() public void <init>(): ALOAD_0 // Lorg/jrig/keyvalue/KvbMixin; this (line 31) INVOKESPECIAL java.lang.Object.<init> ()V constructor-execution(void org.jrig.keyvalue.KvbMixin.<init>()) | RETURN constructor-execution(void org.jrig.keyvalue.KvbMixin.<init>()) end public void <init>() void ajc$declare_parents_1() org.aspectj.weaver.MethodDeclarationLineNumber: 33:1043 : RETURN (line 33) end void ajc$declare_parents_1() public static void ajc$interFieldInit$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings(org.jrig.keyvalue.KvbMixinImpl) org.aspectj.weaver.MethodDeclarationLineNumber: 35:1149 : method-execution(void org.jrig.keyvalue.KvbMixin.ajc$interFieldInit$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings(org.jrig.keyvalue.KvbMixinImpl)) | ALOAD_0 // Lorg/jrig/keyvalue/KvbMixinImpl; ajc$this_ (line 35) | NEW java.util.HashMap | DUP | INVOKESPECIAL java.util.HashMap.<init> ()V | field-set(java.util.Map org.jrig.keyvalue.KvbMixinImpl.bindings) | | INVOKEINTERFACE org.jrig.keyvalue.KvbMixinImpl.ajc$interFieldSet$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings (Ljava/util/Map;)V | field-set(java.util.Map org.jrig.keyvalue.KvbMixinImpl.bindings) | RETURN method-execution(void org.jrig.keyvalue.KvbMixin.ajc$interFieldInit$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings(org.jrig.keyvalue.KvbMixinImpl)) end public static void ajc$interFieldInit$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings(org.jrig.keyvalue.KvbMixinImpl) public static java.util.Map ajc$interFieldGetDispatch$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings(org.jrig.keyvalue.KvbMixinImpl) EffectiveSignatureAttribute(java.util.Map org.jrig.keyvalue.KvbMixinImpl.bindings, field-get) : ALOAD_0 INVOKEINTERFACE org.jrig.keyvalue.KvbMixinImpl.ajc$interFieldGet$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings ()Ljava/util/Map; ARETURN end public static java.util.Map ajc$interFieldGetDispatch$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings(org.jrig.keyvalue.KvbMixinImpl) public static void ajc$interFieldSetDispatch$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings(org.jrig.keyvalue.KvbMixinImpl, java.util.Map) EffectiveSignatureAttribute(java.util.Map org.jrig.keyvalue.KvbMixinImpl.bindings, field-set) : ALOAD_0 ALOAD_1 INVOKEINTERFACE org.jrig.keyvalue.KvbMixinImpl.ajc$interFieldSet$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings (Ljava/util/Map;)V RETURN end public static void ajc$interFieldSetDispatch$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings(org.jrig.keyvalue.KvbMixinImpl, java.util.Map) public static void ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bind(org.jrig.keyvalue.KvbMixinImpl, String, Object, String, java.util.Map) EffectiveSignatureAttribute(void org.jrig.keyvalue.KvbMixinImpl.bind(java.lang.String, java.lang.Object, java.lang.String, java.util.Map), method-execution) : ALOAD_0 // Lorg/jrig/keyvalue/KvbMixinImpl; ajc$this_ (line 45) INVOKESTATIC org.jrig.keyvalue.KvbMixin.ajc$interFieldGetDispatch$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings (Lorg/jrig/keyvalue/KvbMixinImpl;)Ljava/util/Map; ALOAD_0 // Lorg/jrig/keyvalue/KvbMixinImpl; ajc$this_ ALOAD_1 // Ljava/lang/String; binding ALOAD_2 // Ljava/lang/Object; observable ALOAD_3 // Ljava/lang/String; key ALOAD 4 // Ljava/util/Map; options INVOKESTATIC org.jrig.keyvalue.KeyValueBinding.bind (Ljava/util/Map;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;Ljava/util/Map;)V RETURN (line 46) end public static void ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bind(org.jrig.keyvalue.KvbMixinImpl, String, Object, String, java.util.Map) public static void ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bind(org.jrig.keyvalue.KvbMixinImpl, String, Object, String, java.util.Map) EffectiveSignatureAttribute(void org.jrig.keyvalue.KvbMixinImpl.bind(java.lang.String, java.lang.Object, java.lang.String, java.util.Map), method-call) : ALOAD_0 ALOAD_1 ALOAD_2 ALOAD_3 ALOAD 4 INVOKEINTERFACE org.jrig.keyvalue.KvbMixinImpl.bind (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;Ljava/util/Map;)V RETURN end public static void ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bind(org.jrig.keyvalue.KvbMixinImpl, String, Object, String, java.util.Map) public static void ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$unbind(org.jrig.keyvalue.KvbMixinImpl, String) EffectiveSignatureAttribute(void org.jrig.keyvalue.KvbMixinImpl.unbind(java.lang.String), method-execution) : ALOAD_0 // Lorg/jrig/keyvalue/KvbMixinImpl; ajc$this_ (line 49) INVOKESTATIC org.jrig.keyvalue.KvbMixin.ajc$interFieldGetDispatch$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings (Lorg/jrig/keyvalue/KvbMixinImpl;)Ljava/util/Map; ALOAD_1 // Ljava/lang/String; binding INVOKESTATIC org.jrig.keyvalue.KeyValueBinding.unbind (Ljava/util/Map;Ljava/lang/String;)V RETURN (line 50) end public static void ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$unbind(org.jrig.keyvalue.KvbMixinImpl, String) public static void ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$unbind(org.jrig.keyvalue.KvbMixinImpl, String) EffectiveSignatureAttribute(void org.jrig.keyvalue.KvbMixinImpl.unbind(java.lang.String), method-call) : ALOAD_0 ALOAD_1 INVOKEINTERFACE org.jrig.keyvalue.KvbMixinImpl.unbind (Ljava/lang/String;)V RETURN end public static void ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$unbind(org.jrig.keyvalue.KvbMixinImpl, String) public static org.jrig.keyvalue.IKeyValueBinding$BindingInfo ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$infoForBinding(org.jrig.keyvalue.KvbMixinImpl, String) EffectiveSignatureAttribute(org.jrig.keyvalue.IKeyValueBinding$BindingInfo org.jrig.keyvalue.KvbMixinImpl.infoForBinding(java.lang.String), method-execution) : ALOAD_0 // Lorg/jrig/keyvalue/KvbMixinImpl; ajc$this_ (line 55) INVOKESTATIC org.jrig.keyvalue.KvbMixin.ajc$interFieldGetDispatch$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$bindings (Lorg/jrig/keyvalue/KvbMixinImpl;)Ljava/util/Map; ALOAD_1 // Ljava/lang/String; binding INVOKESTATIC org.jrig.keyvalue.KeyValueBinding.infoForBinding (Ljava/util/Map;Ljava/lang/String;)Lorg/jrig/keyvalue/IKeyValueBinding$BindingInfo; ARETURN end public static org.jrig.keyvalue.IKeyValueBinding$BindingInfo ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$infoForBinding(org.jrig.keyvalue.KvbMixinImpl, String) public static org.jrig.keyvalue.IKeyValueBinding$BindingInfo ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$infoForBinding(org.jrig.keyvalue.KvbMixinImpl, String) EffectiveSignatureAttribute(org.jrig.keyvalue.IKeyValueBinding$BindingInfo org.jrig.keyvalue.KvbMixinImpl.infoForBinding(java.lang.String), method-call) : ALOAD_0 ALOAD_1 INVOKEINTERFACE org.jrig.keyvalue.KvbMixinImpl.infoForBinding (Ljava/lang/String;)Lorg/jrig/keyvalue/IKeyValueBinding$BindingInfo; ARETURN end public static org.jrig.keyvalue.IKeyValueBinding$BindingInfo ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$infoForBinding(org.jrig.keyvalue.KvbMixinImpl, String) public static java.util.List ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$exposedBindings(org.jrig.keyvalue.KvbMixinImpl) EffectiveSignatureAttribute(java.util.List org.jrig.keyvalue.KvbMixinImpl.exposedBindings(), method-execution) : ALOAD_0 // Lorg/jrig/keyvalue/KvbMixinImpl; ajc$this_ (line 61) INVOKESTATIC org.jrig.keyvalue.KeyValueBinding.exposedBindings (Ljava/lang/Object;)Ljava/util/List; ARETURN end public static java.util.List ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$exposedBindings(org.jrig.keyvalue.KvbMixinImpl) public static java.util.List ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$exposedBindings(org.jrig.keyvalue.KvbMixinImpl) EffectiveSignatureAttribute(java.util.List org.jrig.keyvalue.KvbMixinImpl.exposedBindings(), method-call) : ALOAD_0 INVOKEINTERFACE org.jrig.keyvalue.KvbMixinImpl.exposedBindings ()Ljava/util/List; ARETURN end public static java.util.List ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$exposedBindings(org.jrig.keyvalue.KvbMixinImpl) public static Class ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$valueClassForBinding(org.jrig.keyvalue.KvbMixinImpl, String) EffectiveSignatureAttribute(java.lang.Class org.jrig.keyvalue.KvbMixinImpl.valueClassForBinding(java.lang.String), method-execution) : ALOAD_0 // Lorg/jrig/keyvalue/KvbMixinImpl; ajc$this_ (line 65) ALOAD_1 // Ljava/lang/String; binding INVOKESTATIC org.jrig.keyvalue.KeyValueBinding.valueClassForBinding (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Class; ARETURN end public static Class ajc$interMethod$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$valueClassForBinding(org.jrig.keyvalue.KvbMixinImpl, String) public static Class ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$valueClassForBinding(org.jrig.keyvalue.KvbMixinImpl, String) EffectiveSignatureAttribute(java.lang.Class org.jrig.keyvalue.KvbMixinImpl.valueClassForBinding(java.lang.String), method-call) : ALOAD_0 ALOAD_1 INVOKEINTERFACE org.jrig.keyvalue.KvbMixinImpl.valueClassForBinding (Ljava/lang/String;)Ljava/lang/Class; ARETURN end public static Class ajc$interMethodDispatch1$org_jrig_keyvalue_KvbMixin$org_jrig_keyvalue_KvbMixinImpl$valueClassForBinding(org.jrig.keyvalue.KvbMixinImpl, String) public static org.jrig.keyvalue.KvbMixin aspectOf() org.aspectj.weaver.AjAttribute$AjSynthetic@33d8ad : GETSTATIC org.jrig.keyvalue.KvbMixin.ajc$perSingletonInstance Lorg/jrig/keyvalue/KvbMixin; (line 1) IFNONNULL L0 NEW org.aspectj.lang.NoAspectBoundException DUP LDC "org_jrig_keyvalue_KvbMixin" GETSTATIC org.jrig.keyvalue.KvbMixin.ajc$initFailureCause Ljava/lang/Throwable; INVOKESPECIAL org.aspectj.lang.NoAspectBoundException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V ATHROW L0: GETSTATIC org.jrig.keyvalue.KvbMixin.ajc$perSingletonInstance Lorg/jrig/keyvalue/KvbMixin; ARETURN end public static org.jrig.keyvalue.KvbMixin aspectOf() public static boolean hasAspect() org.aspectj.weaver.AjAttribute$AjSynthetic@16dc7e : GETSTATIC org.jrig.keyvalue.KvbMixin.ajc$perSingletonInstance Lorg/jrig/keyvalue/KvbMixin; (line 1) IFNULL L0 ICONST_1 IRETURN L0: ICONST_0 IRETURN end public static boolean hasAspect() private static void ajc$postClinit() org.aspectj.weaver.AjAttribute$AjSynthetic@1abd9d : NEW org.jrig.keyvalue.KvbMixin (line 1) DUP INVOKESPECIAL org.jrig.keyvalue.KvbMixin.<init> ()V PUTSTATIC org.jrig.keyvalue.KvbMixin.ajc$perSingletonInstance Lorg/jrig/keyvalue/KvbMixin; RETURN end private static void ajc$postClinit() end public class org.jrig.keyvalue.KvbMixin when weaving aspects when weaving when batch building BuildConfig[/Users/paul/Documents/workspace/.metadata/.plugins/org.eclipse.ajdt.core/JRigLocal.generated.lst] #Files=114
Note: If I revert to 1.4.1.20060728033634 then I dont get this error. I do this via Help -> Software Updates -> Manage Configuration -> Replace With Another Version.
Passing over to compiler
suspect this is a pipeline bug - you can try deactivating the pipeline to see if it helps, set the option: -Xset:pipelineCompilation=false in your project properties. Pipelining compilation uses far less memory but is a brand new feature and thus has a few bugs to iron out.
i found a different crash whilst investigating - fixing that first.
I can confirm that when I set this: -Xset:pipelineCompilation=false in the AspectJ Compiler Non-standard compiler options the problem does NOT appear.
The problem appears to be due to the use of ITDs. The cast that blows up is casting something it believes is a BcelTypeMunger. Really the only other possibility for the object is an EclipseTypeMunger - but at this stage of weaving all the Eclipse ones ought to have been transformed into Bcel ones. I don't want the fix to be a guard for checking it is an instanceof EclipseTypeMunger and skipping it in that case as we'll get peculiar results in some situations - we really need to get to the bottom of why this type munger hasn't been transformed. My current thought is that we have exited stage one of the pipeline too early - at exit of stage one, all aspects must have been compiled and it is possible the code that identifies the aspects and sorts the list of files to process is misbehaving. Can you tell me - how are your aspects defined? Are they code style/annotation style? Are all aspects declared as top level types or do you have some member type aspects? How many aspects do you have?
Downgraded seriousness - no reply for a month - can't progress this bug without a bit more info. I presume you are continuing with the workaround flag? please add a comment if you find a few moments to help me work on it.
> Can you tell me - how are your aspects defined? Are they code style/annotation > style? Are all aspects declared as top level types or do you have some member > type aspects? How many aspects do you have? I have 3 aspects in total, all small. The first simply makes any class that matches a class level annotation implement a particular interface: declare parents: (@KeyValue *) implements IKeyValueCoding, KvcMixinImpl; public Object KvcMixinImpl.getValueForKey( String key ) { .... } etc. The next does the same, but also intercepts some variable setting: after( IKeyValueObserving target ): set( !@KvoManual java.util.List ( @KeyValue * ).* ) && target( target ) pointcut setter() : set( !@KvoManual * (@KeyValue *).* ) && @within(KeyValue) && !withincode( new(..) ); void around( Object input, IKeyValueObserving target ): setter() && args(input) && target(target) The last one does the same as the first, but for a different interface. I can post the entire aspect code here if thats appropriate? (It's open source at SourceForge). I have been using the workaround, and don't encounter the problem anymore. I haven't tried taking it off recently.
If you could zip up the source and send it to me google ID, I can take a look at it...
I get pretty much the same bug, I'll try to provide the relevant information. Hopefully it'll be enough to reproduce it. I also confirm that -Xset:pipelineCompilation=false fixes the issue. Running on Windows XP Professional. Sun JDK java version "1.5.0_10" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03) Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing) Eclipse SDK Version: 3.2.1 Build id: M20060921-0945 Eclipse AspectJ Development Tools Version: 1.4.1.200611230655 AspectJ version: 1.5.3.200611221118 Attempting to compile the project "Java Beans Aspect" (will create it as an attachment). To keep attachment size down the project is missing three jgoodies libraries in lib/jgoodies folder (binding-1.1.jar forms-1.0.6.jar looks-1.3.2.jar); the particular instances of libraries were downloaded as a part of a .jar from: https://handyaspects.dev.java.net/servlets/ProjectDocumentList?folderID=4848&expandFolder=4848&folderID=0 The exact trace as shown in Eclipse: java.lang.ClassCastException at org.aspectj.weaver.patterns.SignaturePattern.matchesAnnotations(SignaturePattern.java:477) at org.aspectj.weaver.patterns.SignaturePattern.matchesExactly(SignaturePattern.java:332) at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:289) at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:106) at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java ... when batch building BuildConfig[C:\Lang\eclipse-3.2.1\workspace\.metadata\.plugins\org.eclipse.ajdt.core\Java Beans Aspect.generated.lst] #Files=16
Created attachment 55978 [details] Small AJ project that crashes pipiline compiler. Missing jgoodies libraries to keep size down.
fixed (err, better late than never...) - now compiles with just one warning C:\temp\jba\src\demo\com\damnhandy\aspects\demo\aop\AopBean.java:88 [warning] This Aspect is ALPHA quality and not yet intended for production use. public void doCalc() { ^^^^^^^^^^^^^^^^^^^^^^ method-execution(void com.damnhandy.aspects.demo.aop.AopBean.doCalc()) see also: C:\temp\jba\src\java\com\damnhandy\aspects\syncmodel\impl\SyncModelAspect.aj:20::0 thanks for working on that test case!