Einsetzen von Generischen Variablen angepasst

This commit is contained in:
JanUlrich 2015-01-20 13:35:56 +01:00
parent 6c4090bc4b
commit 3a58694a02
2 changed files with 7 additions and 3 deletions

View File

@ -111,7 +111,7 @@ class GenericVarPatch {
ret += p.getInsertString(rs); ret += p.getInsertString(rs);
if(it1.hasNext())ret += ", "; if(it1.hasNext())ret += ", ";
} }
if(this.genericVarDeclarations.size()>0)ret+=", "; if(this.genericVarExtendDeclarations.size()>0)ret+=", ";
Iterator<GenericVarExtendsDeclarationPatch> it2 = this.genericVarExtendDeclarations.iterator(); Iterator<GenericVarExtendsDeclarationPatch> it2 = this.genericVarExtendDeclarations.iterator();
while(it2.hasNext()){ while(it2.hasNext()){
GenericVarExtendsDeclarationPatch p = it2.next(); GenericVarExtendsDeclarationPatch p = it2.next();

View File

@ -68,7 +68,7 @@ public class TypeInsertSet {
/* /*
* Ablauf: * Ablauf:
* 1. Alle TypePlaceholder im einzusetzenden Typ ermitteln. * 1. Alle TypePlaceholder im einzusetzenden Typ ermitteln.
* 2. Alle Constraints die mit diesen TPHs zusammenhängen ermitteln * 2. Alle Constraints die mit diesen TPHs zusammenhängen ermitteln (Das kann möglicherweise wegfallen)
* 3. Alle TPHs, aus Schritt 1 und 2 zusammenfügen. * 3. Alle TPHs, aus Schritt 1 und 2 zusammenfügen.
* 4. Kontrollieren, welche TPHs in dem InsertKontext noch nicht bekannt sind. * 4. Kontrollieren, welche TPHs in dem InsertKontext noch nicht bekannt sind.
* 5. Alle Unbekannten TPHs herausfiltern (von den Pairs nur TA2) * 5. Alle Unbekannten TPHs herausfiltern (von den Pairs nur TA2)
@ -76,13 +76,15 @@ public class TypeInsertSet {
*/ */
GenericVarPatch gPatch = new GenericVarPatch();//Set der Einzusetzenden generischen Variablendeklarationen GenericVarPatch gPatch = new GenericVarPatch();//Set der Einzusetzenden generischen Variablendeklarationen
//Schritt 1: //Schritt 1:
Vector<TypePlaceholder> involvedTPHs = tip.getInsertType().getUnresolvedTPH(resultSet);//.getInvolvedTypePlaceholder(); Vector<TypePlaceholder> involvedTPHs = tip.getInsertType().getInvolvedTypePlaceholder();//.getInvolvedTypePlaceholder();
/*
//Schritt 2: //Schritt 2:
Vector<Pair> pairs = new Vector<>(); Vector<Pair> pairs = new Vector<>();
for(Pair pair : this.resultSet.getConstraintsFor(involvedTPHs)){ for(Pair pair : this.resultSet.getConstraintsFor(involvedTPHs)){
//gPatch.add(pair); //Schritt 6 (Teil 2) //gPatch.add(pair); //Schritt 6 (Teil 2)
pairs.add(pair); pairs.add(pair);
} }
*/
//Schritt 3: //Schritt 3:
Vector<TypePlaceholder> allTPHs = new Vector<>(); Vector<TypePlaceholder> allTPHs = new Vector<>();
for(TypePlaceholder tph : involvedTPHs){ for(TypePlaceholder tph : involvedTPHs){
@ -91,12 +93,14 @@ public class TypeInsertSet {
} }
} }
//TODO: Schritt 4 (Es wird nicht kontrolliert, ob der TPH in dem Kontext schon bekannt ist) //TODO: Schritt 4 (Es wird nicht kontrolliert, ob der TPH in dem Kontext schon bekannt ist)
/*
// und Schritt 5: (Es werden nur die TPHs übernommen, welche noch nicht in den involvedTPHs vorkommen) // und Schritt 5: (Es werden nur die TPHs übernommen, welche noch nicht in den involvedTPHs vorkommen)
for(Pair pair : pairs)for(Type t : pair.getTypes())for(TypePlaceholder tph : t.getInvolvedTypePlaceholder()){ for(Pair pair : pairs)for(Type t : pair.getTypes())for(TypePlaceholder tph : t.getInvolvedTypePlaceholder()){
if(!allTPHs.contains(tph)){ if(!allTPHs.contains(tph)){
allTPHs.add(tph); allTPHs.add(tph);
} }
} }
*/
//gPatch.addPairs(pairs); //gPatch.addPairs(pairs);
gPatch.addTPHs(allTPHs); gPatch.addTPHs(allTPHs);