Project: AspectJ
Bug 41123 Weaving failure when using injars
Reported: 2003-08-05 00:39:51 | Status: resolved fixed

Sample run that fails using injars: C:\devel\test\libraryWeave>ajc ajee\testing\ExecutionMonitor.aj C:\devel\test\libraryWeave>jar cf ajee.jar ajee\testing\*.class C:\devel\test\libraryWeave>ajc -injars ajee.jar model\BusObj.java model\MonitorB usObj.java C:\devel\test\libraryWeave\model\BusObj.java:3 Class must implement the inherite d abstract method ExecutionMonitor.MonitoredItem.ajc$interMethodDispatch2 $ajee_t esting_ExecutionMonitor$record(String, String) public class BusObj { ^^^^^^ 1 error It works in a single pass compilation: C:\devel\test\libraryWeave>ajc ajee\testing\ExecutionMonitor.aj model\BusObj.jav a model\MonitorBusObj.java C:\devel\test\libraryWeave> Sample source code: package ajee.testing; public aspect ExecutionMonitor { public interface MonitoredItem {} private void MonitoredItem.record(String eventType, String eventName) {} } --- package model; public class BusObj { } --- package model; import ajee.testing.ExecutionMonitor; public aspect MonitorBusObj { declare parents: BusObj implements ExecutionMonitor.MonitoredItem; }

Files changed in fix:
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java tests/bugs/moreInterfaceLibrary/model/BusObj.java tests/bugs/moreInterfaceLibrary/model/MonitorBusObj.java weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java weaver/src/org/aspectj/weaver/bcel/LazyMethodGen.java