Fehlende Constraints beim Pattern-Matching mit Generics #353
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
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: JavaTX/JavaCompilerCore#353
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?
Siehe Test hier:
158adf837a/resources/bytecode/javFiles/PatternMatchingListAppend.jav
AST (Relevanter Teil):
Result Set:
AR bekommt bei mir keinen Typ.
Hallo Daniel,
k
önntest Du auch noch das Constraint-Set dazu posten. Dann kann man erkennen, ob es überhaupt einen Constraint für AR gibt.
Danke
Martin
Hier ist der Rest vom output:
Hallo Ruben,
hier scheint es noch ein grundsätzliches Problem zu geben vermutlich GTV und TPH. Das muss ich mir bzw. wir zusmmen genauer anschauen.
Biite vormerken für den 6.12.
Viele Grüße
Martin
Hi Martin,
Japp, ich wollte mir das diese Woche mal noch anschauen, vielleicht finde ich das Problem auch direkt.
Ich schreib es mir mal für den 6. auf.
Gruß
Ich glaube ich hatte damals gesagt man kann einfach den TPH aus der Klasse rausziehen, aber das funktioniert für GTVs so scheinbar nicht?
Was meinst Du mit rausziehen. Mach mal ein Beispiel
Der Code ist hier:
Für die Record parameter wird die Liste der Klassen durchsucht und dann ein UND constraint über die Parameter-Typen im Standardkonstruktor erstellt. Das ist hier wahrscheinlich dieses ominöse
TPH AEB
.Ich habe den Code nochmal angepasst, es liefert aber immernoch nicht das richtige Ergebnis.
Jetzt werden zwei neue Constraints generiert:
Müsste jetzt nicht
AR < AT
herauskommen?AR
bekommt bei mir weiterhin keinen Typ.Hier ist das neue Resultset:
Das Problem waren die Generics und die genesteten Patterns, jetzt scheint es zu funktionieren:
@pl Sieht das richtig aus?
Was ich nicht ganz verstehe ist wieso
List
hier nirgendwo auftaucht, das sollte doch der allgemeinste Typ sein...