Signaturen von Methoden und Klassen müssen betrachtet werden. #214

Open
opened 2023-03-07 15:12:58 +00:00 by pl · 0 comments
Owner

In MethodAssumptions muss für

public <X, Y extends X> java.lang.Boolean eq(X, Y);

Y extends X gespeichert werden und in TypeStmt.visit(MethodCall methodCall)
zum Constraintset mit ersetzen fresh Typevariables hinzugefügt werden.

Gleiches gilt für Klassengenerics

Besipiel
In

class Pair<U, T> {
U a;
T b;

compare( p) {
	return  new Equal<>().eq(p.a, p.b);
	
}

}

müsste

public <BFM, BFH extends BFM> java.lang.Boolean compare(Pair<BFH, BFM>);

herauskommen. Es kommt aber

public <BFM, BFH> java.lang.Boolean compare(Pair<BFH, BFM>);

heraus.

In MethodAssumptions muss für public <X, Y extends X> java.lang.Boolean eq(X, Y); Y extends X gespeichert werden und in TypeStmt.visit(MethodCall methodCall) zum Constraintset mit ersetzen fresh Typevariables hinzugefügt werden. Gleiches gilt für Klassengenerics Besipiel In class Pair<U, T> { U a; T b; compare( p) { return new Equal<>().eq(p.a, p.b); } } müsste public <BFM, BFH extends BFM> java.lang.Boolean compare(Pair<BFH, BFM>); herauskommen. Es kommt aber public <BFM, BFH> java.lang.Boolean compare(Pair<BFH, BFM>); heraus.
dholle added the
generics
label 2024-03-04 13:05:25 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: JavaTX/JavaCompilerCore#214
No description provided.