IdTest funktioniert

This commit is contained in:
Fayez Abu Alia 2019-04-05 12:05:07 +02:00
parent 588b9ef83a
commit 5c5b1ea2b1
2 changed files with 10 additions and 8 deletions

View File

@ -772,7 +772,7 @@ public class BytecodeGenMethod implements StatementVisitor {
System.out.println("Methods of " + receiverName + " "); System.out.println("Methods of " + receiverName + " ");
java.lang.reflect.Method methodRefl = null; java.lang.reflect.Method methodRefl = null;
String clazz = receiverName.replace("/", "."); String clazz = receiverName.replace("/", ".");
// if(!receiverName.equals(className)) { if(!receiverName.equals(className)) {
ClassLoader cLoader = ClassLoader.getSystemClassLoader(); ClassLoader cLoader = ClassLoader.getSystemClassLoader();
// This will be used if the class is not standard class (not in API) // This will be used if the class is not standard class (not in API)
ClassLoader cLoader2; ClassLoader cLoader2;
@ -852,7 +852,7 @@ public class BytecodeGenMethod implements StatementVisitor {
//do nothing //do nothing
} }
} }
// } }
methodCall.receiver.accept(this); methodCall.receiver.accept(this);

View File

@ -302,8 +302,9 @@ public class Signature {
// das braucht man nicht es reicht: sv.visitTypeVariable(r.acceptTV(new TypeToSignature()) // das braucht man nicht es reicht: sv.visitTypeVariable(r.acceptTV(new TypeToSignature())
// //
String sig2 = r.acceptTV(new TypeToSignature()); String sig2 = r.acceptTV(new TypeToSignature());
String eqTPH = getEqualTPH(methodConstraints, sig2.substring(1, sig2.length()-1))+"$"; if(r instanceof GenericRefType) {
if(!(r instanceof TypePlaceholder)) { sv.visitTypeVariable(sig2);
}else if(!(r instanceof TypePlaceholder)) {
if(sig2.contains("$$")) { if(sig2.contains("$$")) {
System.out.println(" Signature FUN$$: "+r); System.out.println(" Signature FUN$$: "+r);
sv.visitInterface().visitClassType(sig2.substring(1, sig2.length())); sv.visitInterface().visitClassType(sig2.substring(1, sig2.length()));
@ -311,16 +312,17 @@ public class Signature {
// Kann zwischen GenericRefType und RefType nicht unterscheiden // Kann zwischen GenericRefType und RefType nicht unterscheiden
// Deswegen wird immer geprüft, ob der Name in Generic Maps liegt // Deswegen wird immer geprüft, ob der Name in Generic Maps liegt
String n = sig2.substring(1, sig2.length()-1); String n = sig2.substring(1, sig2.length()-1);
if(genericsAndBoundsMethod.containsKey(n) || genericsAndBounds.containsKey(n)) { // if(genericsAndBoundsMethod.containsKey(n) || genericsAndBounds.containsKey(n)) {
sv.visitTypeVariable(n); // sv.visitTypeVariable(n);
} else { // } else {
sv.visitClassType(n); sv.visitClassType(n);
sv.visitEnd(); sv.visitEnd();
} // }
// sv.visitClassType(n); // sv.visitClassType(n);
} }
} else { } else {
String eqTPH = getEqualTPH(methodConstraints, sig2.substring(1, sig2.length()-1))+"$";
System.out.println(r.getClass()+" Signature TPH: "+r.acceptTV(new TypeToSignature())); System.out.println(r.getClass()+" Signature TPH: "+r.acceptTV(new TypeToSignature()));
sv.visitTypeVariable(eqTPH); sv.visitTypeVariable(eqTPH);
} }