forked from JavaTX/JavaCompilerCore
modified: src/de/dhbwstuttgart/typeinference/unify/RuleSet.java
Reduce 1 C und D koennen auch gleich sein. Muss nochmals ueberprueft werden.
This commit is contained in:
parent
f0610aeff1
commit
87fe51767c
@ -241,6 +241,20 @@ public class RuleSet implements IRuleSet{
|
|||||||
|
|
||||||
UnifyType cFromFc = fc.getLeftHandedType(c.getName()).orElse(null);
|
UnifyType cFromFc = fc.getLeftHandedType(c.getName()).orElse(null);
|
||||||
|
|
||||||
|
NOCHMAL UEBERPRUEFEN
|
||||||
|
//PL 18-02-09 Eingfuegt Anfang
|
||||||
|
//C und D koennen auch gleich sein.
|
||||||
|
if (c.getName().equals(d.getName())) {
|
||||||
|
Set<UnifyPair> result = new HashSet<>();
|
||||||
|
TypeParams rhsTypeParams = d.getTypeParams();
|
||||||
|
TypeParams lhsTypeParams = c.getTypeParams();
|
||||||
|
for(int rhsIdx = 0; rhsIdx < c.getTypeParams().size(); rhsIdx++)
|
||||||
|
result.add(new UnifyPair(lhsTypeParams.get(rhsIdx), rhsTypeParams.get(rhsIdx), PairOperator.SMALLERDOTWC));
|
||||||
|
|
||||||
|
return Optional.of(result);
|
||||||
|
}
|
||||||
|
//PL 18-02-09 Eingfuegt ENDE
|
||||||
|
|
||||||
if(cFromFc == null || !cFromFc.getTypeParams().arePlaceholders())
|
if(cFromFc == null || !cFromFc.getTypeParams().arePlaceholders())
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user