[targetBytecode] TestThreeArgs #95
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#95
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?
Das Beispiel ist als TestThreeArgs.jav in resources/insertGenericsJav definiert.
Das erste Problem ergibt sich wenn für die Methode "id" die Infima eliminiert werden:
vorher: [(TPH AF < TPH W), (TPH W = java.lang.Object), (TPH P < TPH AF), (TPH Q < TPH W), (TPH Q < TPH P)]
nachher: [(TPH EAY < TPH AF), (TPH AF < TPH EAY), (TPH Q < TPH EAY)]
es ergibt sich also ein neuer cycle der nicht entfernt wird.
Das zweite Problem ist, dass in Methode "m", durch die Gleichsetzung von AA (= W) und der neuen Typvariablen EAY, die Typvariable der anderen Methode "geklaut" wird.
public class TestThreeArgs {
public N a;
}
"m" sollte nicht auf EAY verweisen.
M.E. müsste folgendes rauskommen:
public class TestThreeArgs {
public N a;
}