From d9e3ba17c87310d66f0cf796e15f58413afb34f7 Mon Sep 17 00:00:00 2001 From: acolyer Date: Wed, 13 Jul 2005 13:04:03 +0000 Subject: [PATCH] avoid losing type variable information when resolving bindings --- .../src/org/aspectj/weaver/patterns/WildTypePattern.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java index 436103277..8f67b4466 100644 --- a/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java +++ b/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java @@ -519,8 +519,12 @@ public class WildTypePattern extends TypePattern { // Only if the type is exact *and* the type parameters are exact should we create an // ExactTypePattern for this WildTypePattern if (typeParameters.areAllExact()) { - String[] typeParamCleanNames = typeParameters.maybeGetCleanNames(); - TypeX tx = TypeX.forParameterizedTypeNames(rawType.getName(),typeParamCleanNames); + TypePattern[] typePats = typeParameters.getTypePatterns(); + TypeX[] typeParameterTypes = new TypeX[typePats.length]; + for (int i = 0; i < typeParameterTypes.length; i++) { + typeParameterTypes[i] = ((ExactTypePattern)typePats[i]).getExactType(); + } + TypeX tx = TypeX.forParameterizedTypes(rawType,typeParameterTypes); TypeX type = scope.getWorld().resolve(tx,true); if (dim != 0) type = TypeX.makeArray(type, dim); ret = new ExactTypePattern(type,includeSubtypes,isVarArgs); -- 2.39.5