Abhänigkeit von generischen Argumenten bei Methodenaufrufen #101

Open
opened 2023-03-07 15:33:42 +00:00 by pl · 1 comment
Owner

class Assign {

  assign(x, y) {
      x = y;
  }

  assign2(x, y) {
      assign(x,y);
  }

}

liefert:

public class Assign {
public Assign();
public <O, P extends O> void assign(O, P);
public <T, S> void assign2(S, T);
}

müsste aber:

public class Assign {
public Assign();
public <O, P extends O> void assign(O, P);
public <T extends S, S> void assign2(S, T);
}

Hier muss der Algorithmus nochmals angepasst werden: Neben den Abhängigkeiten von Argumenttypen und Returntypen bei Methdenaufrufen müssen auch Abhängigkeiten von Argumenttypen untereinander berücksichtigt werden.

class Assign { assign(x, y) { x = y; } assign2(x, y) { assign(x,y); } } liefert: public class Assign { public Assign(); public <O, P extends O> void assign(O, P); public <T, S> void assign2(S, T); } müsste aber: public class Assign { public Assign(); public <O, P extends O> void assign(O, P); public <T extends S, S> void assign2(S, T); } Hier muss der Algorithmus nochmals angepasst werden: Neben den Abhängigkeiten von Argumenttypen und Returntypen bei Methdenaufrufen müssen auch Abhängigkeiten von Argumenttypen untereinander berücksichtigt werden.
Author
Owner

commit 62e022c2f7
branch targetBytecode

commit 62e022c2f773069576fe0229f6a71a000f31f1ca branch targetBytecode
dholle added the
generics
label 2024-03-04 13:04:58 +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#101
No description provided.