Bug 112 gefixt

This commit is contained in:
Fayez Abu Alia 2018-09-26 15:37:00 +02:00
parent 2add9f518c
commit d3d1d658b8
2 changed files with 16 additions and 3 deletions

View File

@ -231,8 +231,15 @@ public class Signature {
private void createSigForParamTypeWithWC(RefType ref) {
for(RefTypeOrTPHOrWildcardOrGeneric p : ref.getParaList()) {
if(p instanceof WildcardType) {
String name = null;
if(((WildcardType) p).getInnerType() instanceof GenericRefType) {
String name = new TypeToSignature().visit((GenericRefType)((WildcardType) p).getInnerType());
name = new TypeToSignature().visit((GenericRefType)((WildcardType) p).getInnerType());
}
if(((WildcardType) p).getInnerType() instanceof TypePlaceholder) {
name = new TypeToSignature().visit((TypePlaceholder)((WildcardType) p).getInnerType());
name = name.substring(1);
}
if(name != null) {
if(!genericsAndBoundsMethod.containsKey(name) && !genericsAndBounds.containsKey(name)) {
sw.visitFormalTypeParameter(name);
sw.visitClassBound().visitClassType(Type.getInternalName(Object.class));

View File

@ -48,7 +48,10 @@ public class TypeToSignature implements TypeVisitor<String> {
@Override
public String visit(SuperWildcardType superWildcardType) {
// throw new NotImplementedException();
return "-" + superWildcardType.getInnerType().acceptTV(new TypeToSignature());
String sig = "-" + superWildcardType.getInnerType().acceptTV(new TypeToSignature());
if(superWildcardType.getInnerType() instanceof TypePlaceholder)
sig += ";";
return sig;
}
@Override
@ -60,7 +63,10 @@ public class TypeToSignature implements TypeVisitor<String> {
@Override
public String visit(ExtendsWildcardType extendsWildcardType) {
// throw new NotImplementedException();
return "+" + extendsWildcardType.getInnerType().acceptTV(new TypeToSignature());
String sig = "+" + extendsWildcardType.getInnerType().acceptTV(new TypeToSignature());
if(extendsWildcardType.getInnerType() instanceof TypePlaceholder)
sig += ";";
return sig;
}
@Override