summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-03-23 20:26:21 +0000
committeracolyer <acolyer>2005-03-23 20:26:21 +0000
commitfb01cad1cc839b23cba31cd4dd5f44f68bad4411 (patch)
treefa373081decfaedad9cab225c5a1b927f1a40654 /org.aspectj.ajdt.core
parent776ab61a02fb038c83a7d5638174443f6e727267 (diff)
downloadaspectj-fb01cad1cc839b23cba31cd4dd5f44f68bad4411.tar.gz
aspectj-fb01cad1cc839b23cba31cd4dd5f44f68bad4411.zip
fix for Bugzilla Bug 84333
BCException: Bad type name: TypeX.nameToSignature(TypeX.java:635)
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java
index 3d82006ad..5aeedd62e 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java
@@ -51,6 +51,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding;
import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
+import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding;
/**
* @author Jim Hugunin
@@ -158,6 +159,12 @@ public class EclipseFactory {
if (binding == null || binding.qualifiedSourceName() == null) {
return ResolvedTypeX.MISSING;
}
+ // first piece of generics support!
+ if (binding instanceof TypeVariableBinding) {
+ // this is a type variable...
+ TypeVariableBinding tvb = (TypeVariableBinding) binding;
+ return TypeX.forName(getName(tvb.firstBound)); // XXX needs more investigation as to whether this is correct in all cases
+ }
return TypeX.forName(getName(binding));
}