From: aclement Date: Tue, 14 Jun 2005 14:55:51 +0000 (+0000) Subject: Fix for 99089: [generics][itds] ArrayIndexOutOfBoundsException - Generics in privileg... X-Git-Tag: PRE_ANDY~165 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8ee1d11d49fdec1a98609c5a516c7797df0eaff5;p=aspectj.git Fix for 99089: [generics][itds] ArrayIndexOutOfBoundsException - Generics in privileged aspects. Uses the rawtypesignatures when attempting to resolve types rather than any parameterized variants. --- diff --git a/weaver/src/org/aspectj/weaver/World.java b/weaver/src/org/aspectj/weaver/World.java index 07444e4fb..f721cc4fb 100644 --- a/weaver/src/org/aspectj/weaver/World.java +++ b/weaver/src/org/aspectj/weaver/World.java @@ -122,7 +122,7 @@ public abstract class World implements Dump.INode { public ResolvedTypeX resolve(TypeX ty, boolean allowMissing) { //System.out.println("resolve: " + ty + " world " + typeMap.keySet()); - String signature = ty.getSignature(); + String signature = ty.getRawTypeSignature(); ResolvedTypeX ret = typeMap.get(signature); if (ret != null) { ret.world = this; return ret; } // Set the world for the RTX @@ -154,7 +154,7 @@ public abstract class World implements Dump.INode { return resolve(TypeX.forName(name)); } protected final ResolvedTypeX resolveObjectType(TypeX ty) { - String signature = ty.getSignature(); + String signature = ty.getRawTypeSignature(); ResolvedTypeX.Name name = new ResolvedTypeX.Name(signature, this); ResolvedTypeX.ConcreteName concreteName = resolveObjectType(name); @@ -476,7 +476,7 @@ public abstract class World implements Dump.INode { } public ResolvedTypeX.Name lookupOrCreateName(TypeX ty) { - String signature = ty.getSignature(); + String signature = ty.getRawTypeSignature(); ResolvedTypeX.Name ret = (ResolvedTypeX.Name)typeMap.get(signature); if (ret == null) { ret = new ResolvedTypeX.Name(signature, this);