Deepclone weitgehen eliminieren #174
Labels
No Label
Codegen
confirmed
duplicate
Eclipse-Plugin
Feature Request
generics
in progress
invalid
JavaCompilerCore
needs info
Parser
Trash
Type
Unify
won't fix
works for me
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: JavaTX/JavaCompilerCore#174
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Idee: Man könnte viele Deepclone, deepcopy, selbst implementierte clone's
eliminieren, wenn man in Schritt 5: Einsetzen der Subst Regel folgende Zeile einfügt:
vecpair = vecpair.stream().map(x -> x.clone()).collect(Menge::new, Menge::add, Menge::addAll);
Damit wird sicher gestellt, dass beim Subst ein neues Element erzeugt wird.
Alle Deepclone, deepcopy, selbst implementierte clone's könnten möglicherweise elimiert werden. Ggf. müssten Hülsen neu erzeugt werden z.B. bei der Bildung des Kartesischen Produkts in Schritt 4, Teil 1 erzeugten Vektoren das Kartesische Produkt
//helpvp = copyMengePair(vecpair2);
//helpvp.addAll(copyMengePair(vecpair1));
//bigCartProductErg.addElement(helpvp);
helpvp = new Menge ();
helpvp.addAll(vecpair2);
helpvp.addAll(vecpair1);
bigCartProductErg.addElement(helpvp);
Änderungen wurden implementiert. Es wird jetzt nur noch vor dem Substituieren geklont.
Allerdings Fehler im LambdaTest13: ( plugindevelopment.TypeInsertTests.LambdaTest13 )
class Matrix{
op(m){
return (f) -> f.apply(m,this);
}
}
Hier gibt es keine korrekte Lösung (Fehler in Typinferierung)
import com.rits.cloning.Cloner; eliminieren
An verschiedenen Stellen müssen die kartesischen Produkte überprüft werden, ob überall deepCopy nötig ist.
Unify überarbeitet. Kein Deepclone mehr notwendig