Java Annotations for Types and Expressions
Where: Rice University Computer Science Department, RAP Seminar
When: October 24, 2008
As defined in Java 1.5, Java annotations can only be attached to very few targets: Classes, methods, method parameters, fields, and other annotations. The Java community intends to extend the list of targets and has issued Java Specification Request (JSR) 308, “Annotations on Types”. The current proposal for JSR 308 is considering allowing annotations on statements, but not on expressions.
In this talk, I discuss how the changes proposed by JSR 308 and its Checker Framework allow programmers to enhance Java’s type system and provide additional static guarantees. Additionally, I demonstrate that the same mechanism proposed for annotations on statements can be used to describe multi-stage programs in Java.