Wenn die Klasse keine Generics besitzt und Methoden besitzen Generics

wird eine new SimplifyResult Instanz erzeugt, da sonst eine
NullException aufgelöst wird
This commit is contained in:
Fayez Abu Alia 2019-03-21 12:23:50 +01:00
parent f4b5124fd3
commit d4a59517d3

View File

@ -387,8 +387,14 @@ public class BytecodeGen implements ASTVisitor {
// ArrayList<GenericInsertPair> pairs = simplifyPairs(method.name,tphExtractor.allPairs,tphExtractor.allCons); // ArrayList<GenericInsertPair> pairs = simplifyPairs(method.name,tphExtractor.allPairs,tphExtractor.allCons);
Signature signature = new Signature(method, genericsAndBoundsMethod, genericsAndBounds,methodParamsAndTypes,resultSet,constraints); Signature signature = new Signature(method, genericsAndBoundsMethod, genericsAndBounds,methodParamsAndTypes,resultSet,constraints);
sig = signature.toString(); sig = signature.toString();
if(simplifyResults.containsKey(className)) {
simplifyResults.get(className).getMethodsConstraints().put(methParamTypes, constraints);
} else {
SimplifyResult sRes = new SimplifyResult(new ArrayList<>(), new ArrayList<>(), new HashMap<>());
sRes.getMethodsConstraints().put(methParamTypes, constraints);
simplifyResults.put(className, sRes);
}
simplifyResults.get(className).getMethodsConstraints().put(methParamTypes, constraints);
} }
System.out.println(method.getName()+" ==> "+sig); System.out.println(method.getName()+" ==> "+sig);
NormalMethod meth = new NormalMethod(method,genericsAndBounds,genericsAndBoundsMethod,hasGen); NormalMethod meth = new NormalMethod(method,genericsAndBounds,genericsAndBoundsMethod,hasGen);