Bug in Signature gefixt. Merge Test tut.

This commit is contained in:
Fayez Abu Alia 2018-08-08 14:33:31 +02:00
parent 6d34ae89ae
commit 2bbb6e0b6b
4 changed files with 8 additions and 20 deletions

View File

@ -119,7 +119,7 @@ public class Signature {
if(!ret.equals("V")) {
// TODO TypeToSignature nochmal kontrollieren und schauen ob man dort wirklich
// T... braucht und L ...
if(ret.contains("$") && !ret.contains("$$")) {
if(ret.contains("$") && !ret.contains("$$") && !ret.contains("<")) {
if(genericsAndBounds.containsKey(ret)) {
genericsAndBoundsMethod.put(ret.substring(1), genericsAndBounds.get(ret.substring(1)));
}else {
@ -233,6 +233,7 @@ public class Signature {
if(p instanceof WildcardType) {
if(((WildcardType) p).getInnerType() instanceof GenericRefType) {
String name = new TypeToSignature().visit((GenericRefType)((WildcardType) p).getInnerType());
System.out.println("NAME WC = " + name);
if(!genericsAndBoundsMethod.containsKey(name) && !genericsAndBounds.containsKey(name)) {
sw.visitFormalTypeParameter(name);
sw.visitClassBound().visitClassType(Type.getInternalName(Object.class));

View File

@ -34,7 +34,7 @@ public class TypeToSignature implements TypeVisitor<String> {
// params += "L"+param.toString().replace(".", "/");
// }
params += param.acceptTV(new TypeToSignature());
if(param instanceof TypePlaceholder)
if(!(param instanceof RefType))
params += ";";
// if(it.hasNext())params += ";";
}

View File

@ -6,13 +6,9 @@ public class Lambda {
var lam1 = (x) -> {
return x;
};
<<<<<<< HEAD
return lam1;
=======
return lam1.apply(new Apply());
//return lam1;
// return lam1.apply(new Apply());
return lam1;
//return new Vector();
>>>>>>> 3fedbcc4a0e015ec8f5f6ccb77081f888135c850
}
}

View File

@ -1,27 +1,18 @@
import java.lang.String;
import java.lang.Integer;
import java.lang.Double;
import java.lang.String;
<<<<<<< HEAD
public class OL {
m(x) { return x + x; }
=======
class OL {
public class OL {
m(x) { return x + x; }
>>>>>>> 3fedbcc4a0e015ec8f5f6ccb77081f888135c850
}
<<<<<<< HEAD
public class OLMain {
=======
class OLMain {
>>>>>>> 3fedbcc4a0e015ec8f5f6ccb77081f888135c850
public class OLMain {
main(java.lang.Integer x) {
var ol;