forked from JavaTX/JavaCompilerCore
modified: src/main/java/de/dhbwstuttgart/bytecode/insertGenerics/FamilyOfGeneratedGenerics.java
This commit is contained in:
parent
b147430fb6
commit
ba8df8b376
@ -520,9 +520,9 @@ public class FamilyOfGeneratedGenerics {
|
|||||||
List<HashMap<Relation, List<TPHConstraint>>> orConsListConverted = new ArrayList<>();
|
List<HashMap<Relation, List<TPHConstraint>>> orConsListConverted = new ArrayList<>();
|
||||||
//gehe die OrConstraints der aktuellen Methode durch und teile nach Operator auf (
|
//gehe die OrConstraints der aktuellen Methode durch und teile nach Operator auf (
|
||||||
for(int i=0; i<orCons.size(); i++) {
|
for(int i=0; i<orCons.size(); i++) {
|
||||||
HashMap<Relation, List<TPHConstraint>> orConsInternal = new HashMap<>();
|
|
||||||
List<TPHConstraint> orConsWithEQUAL = new ArrayList();
|
List<TPHConstraint> orConsWithEQUAL = new ArrayList();
|
||||||
List<TPHConstraint> orConsWithEXTENDS = new ArrayList();
|
List<TPHConstraint> orConsWithEXTENDS = new ArrayList();
|
||||||
|
HashMap<Relation, List<TPHConstraint>> orConsInternal = new HashMap<>();
|
||||||
for(Constraint con: orCons.get(i)) {
|
for(Constraint con: orCons.get(i)) {
|
||||||
Iterator<Pair> it = con.iterator();
|
Iterator<Pair> it = con.iterator();
|
||||||
while(it.hasNext()) {
|
while(it.hasNext()) {
|
||||||
@ -564,10 +564,13 @@ public class FamilyOfGeneratedGenerics {
|
|||||||
oldConsListConverted.add(new TPHConstraint(((TypePlaceholder) pair.TA1).getName(), ((TypePlaceholder) pair.TA2).getName(), r));
|
oldConsListConverted.add(new TPHConstraint(((TypePlaceholder) pair.TA1).getName(), ((TypePlaceholder) pair.TA2).getName(), r));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Berechnung der Regel
|
// dies ist das "R" aus dem ersten Teil, wird im zweiten Teil gebraucht
|
||||||
for(int i=0; i<orCons.size(); i++) {
|
TypePlaceholder tphR = null;
|
||||||
|
|
||||||
|
// Berechnung des ersten Teils der Regel
|
||||||
Constraint<Pair> extendsSet = new Constraint<Pair>();
|
Constraint<Pair> extendsSet = new Constraint<Pair>();
|
||||||
Constraint<Pair> equalSet = new Constraint<Pair>();
|
Constraint<Pair> equalSet = new Constraint<Pair>();
|
||||||
|
for(int i=0; i<orCons.size(); i++) {
|
||||||
//für jede einzelne OrConstraint-Menge gehe durch
|
//für jede einzelne OrConstraint-Menge gehe durch
|
||||||
for(Constraint con: orCons.get(i)) {
|
for(Constraint con: orCons.get(i)) {
|
||||||
Iterator<Pair> it = con.iterator();
|
Iterator<Pair> it = con.iterator();
|
||||||
@ -586,6 +589,7 @@ public class FamilyOfGeneratedGenerics {
|
|||||||
Iterator<Pair> itEqual = equalSet.iterator();
|
Iterator<Pair> itEqual = equalSet.iterator();
|
||||||
while(itEqual.hasNext()) {
|
while(itEqual.hasNext()) {
|
||||||
Pair pairEqual = itEqual.next();
|
Pair pairEqual = itEqual.next();
|
||||||
|
tphR = (TypePlaceholder) (pairEqual.TA2);
|
||||||
Pair newPair = new Pair(resSet.resolveType((TypePlaceholder)(pairExtends.TA2)).resolvedType, resSet.resolveType((TypePlaceholder)(pairEqual.TA1)).resolvedType, PairOperator.SMALLERDOT);
|
Pair newPair = new Pair(resSet.resolveType((TypePlaceholder)(pairExtends.TA2)).resolvedType, resSet.resolveType((TypePlaceholder)(pairEqual.TA1)).resolvedType, PairOperator.SMALLERDOT);
|
||||||
Iterator<Pair> itTC = tcOfoldConsSet.iterator();
|
Iterator<Pair> itTC = tcOfoldConsSet.iterator();
|
||||||
while(itTC.hasNext()) {
|
while(itTC.hasNext()) {
|
||||||
@ -601,6 +605,25 @@ public class FamilyOfGeneratedGenerics {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Berechnung des zweiten Teils der Regel
|
||||||
|
Iterator<Pair> itEqual = equalSet.iterator();
|
||||||
|
while(itEqual.hasNext()) {
|
||||||
|
Pair pairEqual = itEqual.next();
|
||||||
|
// prüfe, ob das "R" von vorhin in einem EqualConstraint links auftaucht
|
||||||
|
if(tphR == pairEqual.TA1) {
|
||||||
|
tempSet.add();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Iterator<Pair> itExtends = equalSet.iterator();
|
||||||
|
while(itExtends.hasNext()) {
|
||||||
|
Pair pairExtends = itExtends.next();
|
||||||
|
// prüfe, ob das "R" von vorhin in einem EqualConstraint links auftaucht
|
||||||
|
if(tphR == pairExtends.TA1) {
|
||||||
|
tempSet.add();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// aus der alten Datenstruktur in die neue Datenstruktur (von Ali)
|
// aus der alten Datenstruktur in die neue Datenstruktur (von Ali)
|
||||||
|
Loading…
Reference in New Issue
Block a user