summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-07-22 15:37:06 +0000
committeracolyer <acolyer>2005-07-22 15:37:06 +0000
commit4b5c1df961787ae569a1b8ccfe83d666d65320f1 (patch)
treeb9cab1d4dde3284106af114ffc6c90d70e7eb15d /org.aspectj.ajdt.core
parent61b56c3484d0b9f282dad4b3da494a65bee987f1 (diff)
downloadaspectj-4b5c1df961787ae569a1b8ccfe83d666d65320f1.tar.gz
aspectj-4b5c1df961787ae569a1b8ccfe83d666d65320f1.zip
also support superinterfaces when converting an Eclipse TypeParameter into a TypeVariable
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java
index 240d2c478..586e06236 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java
@@ -474,7 +474,15 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
String name = new String(aTypeParameter.name);
ReferenceBinding superclassBinding = aTypeParameter.binding.superclass;
UnresolvedType superclass = UnresolvedType.forSignature(new String(superclassBinding.signature()));
- // TODO AMC - superinterfaces
- return new TypeVariable(name,superclass);
+ UnresolvedType[] superinterfaces = null;
+ ReferenceBinding[] superInterfaceBindings = aTypeParameter.binding.superInterfaces;
+ if (superInterfaceBindings != null) {
+ superinterfaces = new UnresolvedType[superInterfaceBindings.length];
+ for (int i = 0; i < superInterfaceBindings.length; i++) {
+ superinterfaces[i] = UnresolvedType.forSignature(new String(superInterfaceBindings[i].signature()));
+ }
+ }
+ // XXX what about lower binding?
+ return new TypeVariable(name,superclass,superinterfaces);
}
}