Discussion:
Bug bei Typ-Annotationen auf Klassen-Typ-Parameter-Bounds
(zu alt für eine Antwort)
Heiner Kücker
2016-10-13 19:38:59 UTC
Permalink
Hallo,

ich habe mich relativ umfangreich damit befasst, einen Prüfer für Java8-Programme zu entwickeln.

In diesem Rahmen habe ich mich mit den Typ-Annotationen (JSR 308) beschäftigt.

Ich finde die Typ-Annotationen (JSR 308) zwar nicht besonders gut, aber die gehören zu Java8 nun mal dazu.

Unter anderem kann man die Typ-Annotationen an Typ-Parametern und deren Bounds notieren.

public class TestTypeAnnotationOnClassTypeparamBound<
@TypeAnno00 T_EXT_INTERSECTION extends
@TypeAnno01 List<
@TypeAnno02 String > &
@TypeAnno03 Iterable<
@TypeAnno04 String > &
@TypeAnno05 Serializable
{
}

Bei T_EXT_INTERSECTION handelt es sich um einen


Ich habe dazu mal einen Unit-Test gemacht (JUnit4):

TypeAnnotationOnClassTypeparamWildcard1OverReflectionTest

http://control-and-command.de/zip/JAVA8_TYPE_ANNO_BUG.zip

Weder mit dem Eclipse-Compiler noch mit dem jdk1.8.0_102 javac funktioniert dieser Test.

Scheinbar haben die Compiler-Anbieter keine Tests hierzu.

Die Typ-Annotationen waren neben den Haupt-Java8-Themen wie Lambdas, Streams und default-Methoden in Interfaces nur eine Nebensache.

Andererseits sind es nur Meta-Daten, die geparst, im Byte-Code vermerkt und wieder abgefragt werden müssen, nichts kompliziertes wie Optimierung oder Typ-Inferenz.

Im Netz findet man auch einige getrackte Bugs in diesem Umfeld.

https://www.google.de/search?q=java+bug+type+annotation+on+class+type+parameter+intersection+bound

https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwiQrrK8w9jPAhWDjSwKHQ3LAscQFggxMAI&url=https%3A%2F%2Fbugs.eclipse.org%2Fbugs%2Fshow_bug.cgi%3Fid%3D462083&usg=AFQjCNEEkF0KsnBbdp2WcaYyVGHx7cLj9Q&sig2=KqkPYovFkv5VqgeM-JPdlw

https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=8&cad=rja&uact=8&ved=0ahUKEwiZ0dD_w9jPAhXBDiwKHf69CNQQFghWMAc&url=http%3A%2F%2Ftypes.cs.washington.edu%2Fchecker-framework%2Fcurrent%2Fchangelog.txt&usg=AFQjCNESdEMTut2sVzfbGctMVUSGPTXj5g&sig2=F8JX8xUARXDQO6dzd8yGRQ&bvm=bv.135475266,d.bGghttps://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=8&cad=rja&uact=8&ved=0ahUKEwiZ0dD_w9jPAhXBDiwKHf69CNQQFghWMAc&url=http%3A%2F%2Ftypes.cs.washington.edu%2Fchecker-framework%2Fcurrent%2Fchangelog.txt&usg=AFQjCNESdEMTut2sVzfbGctMVUSGPTXj5g&sig2=F8JX8xUARXDQO6dzd8yGRQ&bvm=bv.135475266,d.bGg


Meine Frage ist nun, wo ich einen entsprechenden Bug einstellen sollte,
Oracle, Open JDK oder Eclipse, und ob sich dies überhaupt lohnt?

Danke
Heiner
Heiner Kücker
2016-10-13 19:41:40 UTC
Permalink
Post by Heiner Kücker
Im Netz findet man auch einige getrackte Bugs in diesem Umfeld.
https://www.google.de/search?q=java+bug+type+annotation+on+class+type+parameter+intersection+bound&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=FeL_V9a7Ncjj8weU86qwCg#q=javac+bug+type+annotation
Post by Heiner Kücker
Danke
Heiner
Heiner Kücker
2016-10-13 19:43:27 UTC
Permalink
Post by Heiner Kücker
public class TestTypeAnnotationOnClassTypeparamBound<
@TypeAnno00 T_EXT_INTERSECTION extends
@TypeAnno01 List<
@TypeAnno02 String > &
@TypeAnno03 Iterable<
@TypeAnno04 String > &
@TypeAnno05 Serializable
{
}
Bei T_EXT_INTERSECTION handelt es sich um einen Type-Parameter mit intersection bound, wobei der Typ-Parameter selbst, alle einzeln intersected bounds und deren Typ-Argumente jeweils eine Typ-Annotation haben.
Post by Heiner Kücker
Danke
Heiner
Lesen Sie weiter auf narkive:
Suchergebnisse für 'Bug bei Typ-Annotationen auf Klassen-Typ-Parameter-Bounds' (Newsgroups und Mailinglisten)
9
Antworten
JSR 269 -- Switch-Statement-Ersatz fuer Klassen
gestartet 2008-02-10 11:41:12 UTC
de.comp.lang.java
49
Antworten
Fehlerbehandlung
gestartet 2007-09-05 21:19:13 UTC
de.comp.lang.java
62
Antworten
"Globale Objekte" durch statische Variablen/Methoden ermöglichen?
gestartet 2009-10-28 09:56:15 UTC
de.comp.lang.java
Suchergebnisse für 'Bug bei Typ-Annotationen auf Klassen-Typ-Parameter-Bounds' (Fragen und Antworten)
4
Antworten
Annotation format design
gestartet 2017-06-08 12:06:30 UTC
bioinformatik
1
antworten
Was ist die Kritikalität der Ribosomenbindungsstelle relativ zum Startcodon bei der prokaryotischen Translation?
gestartet 2011-12-15 03:17:44 UTC
biologie
7
Antworten
Wie halte ich Hefe von einem Stamm ab, den ich gekauft habe?
gestartet 2010-11-09 03:09:13 UTC
zuhause gebraut
14
Antworten
Wo kann ich als Einzelperson Malware-Beispiele zur Analyse erhalten?
gestartet 2013-03-24 02:36:15 UTC
reverse engineering
Nicht verwandte, aber interessante Themen
16
Antworten
Was ist die längste Science-Fiction-Saga in Büchern?
gestartet 2011-01-11 23:53:45 UTC
10
Antworten
Wie konnte Dumbledore Grindelwald besiegen, da Grindelwald den Elder Wand hatte?
gestartet 2012-03-05 16:13:03 UTC
5
Antworten
Religion im Marvel-Universum?
gestartet 2012-04-06 03:03:17 UTC
6
Antworten
Woher kommt die Idee, "Sir" in "Ein Lied aus Eis und Feuer" durch "Ser" zu ersetzen?
gestartet 2015-04-05 19:12:44 UTC
5
Antworten
Warum sollten die Horkruxe zuerst zerstört werden?
gestartet 2014-06-30 09:34:37 UTC
Loading...