Id.jav #144

Closed
opened 2019-10-24 11:00:06 +00:00 by pl · 3 comments
Owner

class Id {
id2 = x -> x;

id(x) {
return x;
}

id3(x) {
return id(x);
}
}

sollte ergeben:

class Id<TBA$ extends TAZ$, TAZ$> {
Fun1$<TBA, TAZ$> id2;
public Id();
public <OIV$ extends OJA$, OJA$> OJA$ id(OIV$);
public <OIY$ extends OIX$, OIX$> OIX$ id3(OIY$);
}

liefert

class Id <AAIT extends AAIU, AAIU> {
i <VQP extends VQU, VQU> d2 = x -> x;

id(VQP x) {
return x;
}

id3(VQS <VQS extends VQR, VQR> x) {
return id(x);
}
}

sollte aber

class Id<TBA$ extends TAZ$, TAZ$> {
Fun1$<TBA, TAZ$> id2;
public Id();
public <OIV$ extends OJA$, OJA$> OJA$ id(OIV$);
public <OIY$ extends OIX$, OIX$> OIX$ id3(OIY$);
}

liefern

class Id { id2 = x -> x; id(x) { return x; } id3(x) { return id(x); } } sollte ergeben: class Id<TBA$ extends TAZ$, TAZ$> { Fun1$$<TBA$, TAZ$> id2; public Id(); public <OIV$ extends OJA$, OJA$> OJA$ id(OIV$); public <OIY$ extends OIX$, OIX$> OIX$ id3(OIY$); } liefert class Id <AAIT extends AAIU, AAIU> { i <VQP extends VQU, VQU> d2 = x -> x; id(VQP x) { return x; } id3(VQS <VQS extends VQR, VQR> x) { return id(x); } } sollte aber class Id<TBA$ extends TAZ$, TAZ$> { Fun1$$<TBA$, TAZ$> id2; public Id(); public <OIV$ extends OJA$, OJA$> OJA$ id(OIV$); public <OIY$ extends OIX$, OIX$> OIX$ id3(OIY$); } liefern
Author
Owner

Einige Probleme wurden gelöst. Leider noch nicht ganz:

Beispiel:

  1. Start:

class Id {
id2 = x -> x;

id(x) {
return x;
}

id3(x) {
return id(x);
}
}

  1. Man setzt ein in id3 für x den Typ ein:

class Id <BMXR extends BMXQ, BMXQ> {
id2 = x -> x;

id(x) {
return x;
}

<BHYP extends BHYO, BHYO> id3(BHYP x) {
return id(x);

}
}

  1. Man setzt für id3 den Returntyp ein:

class Id <BMXR extends BMXQ, BMXQ> {
id2 = x -> x;

id(x) {
return x;
}

<BHYP extends BHYO, BHYO> BHYO  <BHYP extends BHYO, BHYO> id3(BHYP x) {
return id(x);

}
}

Wir hatten gesagt, dass wenn Generics einmal hingeschrieben, dann wreden sie nicht ncohamls hingeschrieben.

Einige Probleme wurden gelöst. Leider noch nicht ganz: Beispiel: 1. Start: class Id { id2 = x -> x; id(x) { return x; } id3(x) { return id(x); } } 2. Man setzt ein in id3 für x den Typ ein: class Id <BMXR extends BMXQ, BMXQ> { id2 = x -> x; id(x) { return x; } <BHYP extends BHYO, BHYO> id3(BHYP x) { return id(x); } } 3. Man setzt für id3 den Returntyp ein: class Id <BMXR extends BMXQ, BMXQ> { id2 = x -> x; id(x) { return x; } <BHYP extends BHYO, BHYO> BHYO <BHYP extends BHYO, BHYO> id3(BHYP x) { return id(x); } } Wir hatten gesagt, dass wenn Generics einmal hingeschrieben, dann wreden sie nicht ncohamls hingeschrieben.
Author
Owner

Es gibt noch einige weitere Probleme, bitte ausführlich testen.

Es gibt noch einige weitere Probleme, bitte ausführlich testen.
Author
Owner

erledigt mit
Commit: 0861f74ce7 (JavaCompilerCore)
Commit: b29d86e091955721b0e7fe0823880c24966fe933 (Plugin_JCC)

erledigt mit Commit: 0861f74ce72e041f1d0bf31a0c2c104306d53c95 (JavaCompilerCore) Commit: b29d86e091955721b0e7fe0823880c24966fe933 (Plugin_JCC)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: JavaTX/JavaCompilerCore#144
No description provided.