Note: ExtendJ was formerly known as JastAddJ, and most past publications use the old name. In some cases ExtendJ is also referred to as the JastAdd frontend for Java.

This OOPSLA 2007 paper describes the basic architecture of ExtendJ:

  • Torbjörn Ekman, Görel Hedin: The JastAdd Extensible Java Compiler. OOPSLA 2007: 1-18, Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, October 2007, Montreal, Canada.

The development of the Java 7 extension is described in a Master's Thesis and a later research paper:

The development of the Java 8 module is documented in this Master's Thesis:

Extension Articles

The following article describes an implementation of Multiplicities for Java, as an ExtendJ Extension:

Research Using ExtendJ

The following research papers mention using ExtendJ (JastAddJ) to build analyses or language features on top of Java: