From 3e5974557278e81a9891edd4269eca39a8d42f43 Mon Sep 17 00:00:00 2001 From: jhugunin Date: Fri, 8 Aug 2003 01:23:31 +0000 Subject: [PATCH] fix and tests for Bugzilla Bug 41123 Weaving failure when using injars --- .../compiler/lookup/AjLookupEnvironment.java | 8 +++- tests/ajcTests.xml | 36 ++++++++++++++++++ tests/bugs/moreInterfaceLibrary/lib.jar | Bin 0 -> 1458 bytes .../lib/ExecutionMonitor.aj | 6 +++ .../moreInterfaceLibrary/model/BusObj.java | 5 +++ .../model/MonitorBusObj.java | 7 ++++ .../aspectj/weaver/bcel/BcelTypeMunger.java | 4 +- .../aspectj/weaver/bcel/LazyMethodGen.java | 15 ++++++++ 8 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 tests/bugs/moreInterfaceLibrary/lib.jar create mode 100644 tests/bugs/moreInterfaceLibrary/lib/ExecutionMonitor.aj create mode 100644 tests/bugs/moreInterfaceLibrary/model/BusObj.java create mode 100644 tests/bugs/moreInterfaceLibrary/model/MonitorBusObj.java diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java index daacbc4e5..8bbf228a8 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java @@ -160,7 +160,7 @@ public class AjLookupEnvironment extends LookupEnvironment { Collection mungers = onType.getWeaverState().getTypeMungers(onType); - //System.out.println("mungers: " + mungers); + //System.out.println(onType + " mungers: " + mungers); for (Iterator i = mungers.iterator(); i.hasNext(); ) { ConcreteTypeMunger m = (ConcreteTypeMunger)i.next(); EclipseTypeMunger munger = factory.makeEclipseTypeMunger(m); @@ -235,6 +235,12 @@ public class AjLookupEnvironment extends LookupEnvironment { if (!newParents.isEmpty()) { for (Iterator i = newParents.iterator(); i.hasNext(); ) { ResolvedTypeX parent = (ResolvedTypeX)i.next(); + if (dangerousInterfaces.containsKey(parent)) { + ResolvedTypeX onType = factory.fromEclipse(sourceType); + factory.showMessage(IMessage.ERROR, + onType + ": " + dangerousInterfaces.get(parent), + onType.getSourceLocation(), null); + } addParent(sourceType, parent); } } diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml index 1a73d9990..5fa1ab82d 100644 --- a/tests/ajcTests.xml +++ b/tests/ajcTests.xml @@ -6667,4 +6667,40 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/bugs/moreInterfaceLibrary/lib.jar b/tests/bugs/moreInterfaceLibrary/lib.jar new file mode 100644 index 0000000000000000000000000000000000000000..0c6f6c26e516cbdf8d688c2455ac709016a188dd GIT binary patch literal 1458 zcmWIWW@Zs#-~hso3GDg|NI(k6&dE&DcdbZGE-lH-&-2aC%Ph$+(o4=sEH2&~674VS zDDrQauCA`AK!}ObA~9W!wGU!@IF;0nF!8J2+tfKTuf5FsW^UT@n0bG6_x*U%Je_@y z%CBS1_FlHeyIl^NPMWdda!V=e8;PE)SY>SD-A~a-Q}3 zoqeBDxOx_DKX|=jh5a;khc=e72`TTKrmG_|ga zI6s%&{c=L#bj5k{wMQn*__%7zg4<6%)tDwP+k9eyakIoOi7Kx?ZLwRcMHQ!4EcHBC zt9t&~S@#<YPg*TC3%Y*;b`8?VS>RRd#-&E^etuT!$iAHd+%NhUK+n->Qt3JC7W4|g8tXI?&J%u?LD;XLAH}v+VtrsORl-x zT)8u5tE%aYYq>A_<{3Zv#@sNi!}Q^*rDvxpzU_Zy&B$Fdl}YaX!k7CVZ{M-$webJ5 z*KgK0`zB6!_$pq&$4&gUXT9Qn`&FAI4!zWybI9POfkI8;%#=Cue`iOvD{V{L6?m^C zG*;vIxkbz;O;(n)I0R%E^6}kmk8*d0n(<*~!}Y377caKAQ3{gr#n6+s|#$!jm4l zgw!i8dDyX&;X;pl^p=H-URLI`ZFqx;;6EyS+4n=kAxYQtB7dC;i`N(OW08aK+-3 ztKTa-d~T&EY^~Kkd*%Lu@2NHoRfn!DPy1GO#qqK_zm$mRwFS#KCb3PG+gn~ zhRZU1vpFBIvGwrp@U%5p#dT-VehF2J?qZW?J~0~#56-$*Zt=fFy3>6A#QI&W7uP2q zku-=nEMGg_Ba zY*L%d6MiDDQz6&^+`GOYc6FcGQ}qCE zb`IMM?)%)C85o|jGcW|;%#Ip3vZD$#Tc)OXmZauFGG}kVX)k6+fi?GfBZcQLs1TXL z`tYWOPmKGO+FPmNny*fYs zy*x)@pX{N+mA}@`<~%(y*zJ2y*tr`&*ezdM)O9(u+;!@4T`gjjfA=f*G(9JejAdyl zs`pn-;;gPeuChoWr)*1Fb!gYBM_n8Cd+8stO3ZegQjn1|uOsWl)~+WrkIu;bWYBzt z^Z8e)m)&K|WnMyhu8PS^WpB&vZaldz)KtWePcLcx_Z?HtZ!$4co-?PczIf?5t-0H$ z&)od`mmt#>1KW_#VH