diff options
author | aclement <aclement> | 2005-11-22 16:42:09 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-11-22 16:42:09 +0000 |
commit | e549651eb81aacce53afc0268fe675fdd93051ec (patch) | |
tree | e01cd4bd431cd8b60510e8b844486136a5a6b004 /org.aspectj.ajdt.core | |
parent | 82b6ca01e289d309b1a38ad44fa4d552c4c6f5a8 (diff) | |
download | aspectj-e549651eb81aacce53afc0268fe675fdd93051ec.tar.gz aspectj-e549651eb81aacce53afc0268fe675fdd93051ec.zip |
117296: testcode and fixes.
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseFactory.java | 7 |
1 files changed, 3 insertions, 4 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 92e37675b..6d7b75480 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 @@ -277,8 +277,7 @@ public class EclipseFactory { TypeVariable[] tVars = new TypeVariable[tvbs.length]; for (int i = 0; i < tvbs.length; i++) { TypeVariableBinding eclipseV = tvbs[i]; - String name = CharOperation.charToString(eclipseV.sourceName); - tVars[i] = new TypeVariable(name,fromBinding(eclipseV.superclass()),fromBindings(eclipseV.superInterfaces())); + tVars[i] = ((TypeVariableReference)fromTypeVariableBinding(eclipseV)).getTypeVariable(); } //TODO asc generics - temporary guard.... if (!(binding instanceof SourceTypeBinding)) @@ -339,6 +338,8 @@ public class EclipseFactory { UnresolvedTypeVariableReferenceType ret = new UnresolvedTypeVariableReferenceType(); typeVariableBindingsInProgress.put(aTypeVariableBinding,ret); + TypeVariable tv = new TypeVariable(name); + ret.setTypeVariable(tv); // Dont set any bounds here, you'll get in a recursive mess // TODO -- what about lower bounds?? UnresolvedType superclassType = fromBinding(aTypeVariableBinding.superclass()); @@ -346,7 +347,6 @@ public class EclipseFactory { for (int i = 0; i < superinterfaces.length; i++) { superinterfaces[i] = fromBinding(aTypeVariableBinding.superInterfaces[i]); } - TypeVariable tv = new TypeVariable(name,superclassType,superinterfaces); tv.setUpperBound(superclassType); tv.setAdditionalInterfaceBounds(superinterfaces); tv.setRank(aTypeVariableBinding.rank); @@ -357,7 +357,6 @@ public class EclipseFactory { tv.setDeclaringElementKind(TypeVariable.TYPE); // // tv.setDeclaringElement(fromBinding(aTypeVariableBinding.declaringElement)); } - ret.setTypeVariable(tv); if (aTypeVariableBinding.declaringElement instanceof MethodBinding) typeVariablesForThisMember.put(new String(aTypeVariableBinding.sourceName),ret); typeVariableBindingsInProgress.remove(aTypeVariableBinding); |