Oracle Blog

Types, symbols and tables

Tuesday Dec 20, 2011

As some of you might have noticed, the latest developer preview of JDK 8 (b17) contains some changes related to lambda expression support. This document contains a tentative schedule for integrating lambda expression support into the main JDK 8 repository.[Read More]

Tuesday Nov 01, 2011

Overload resolution is one of the most convoluted corners of the Java programming language. Therefore it is crucial for any compiler implementation to provide enough test coverage in this area, in order to make sure that the JLS twists and turns are properly implemented. Unfortunately, as we shall see later, testing overload resolution is anything but straightforward. In this post we provide an overview of how overload resolution testing is achieved in the javac compiler.

Tuesday May 24, 2011

In the last few weeks I have been busy working at a new, improved version of the lambda prototype (see changeset). The new compiler contains several goodies, especially around the type-system, type-inference area, where Dan has been doing an outstanding job at clearing out the issues one by one. The new prototype is by no means complete, there are lots of rough edges here and there - please be patient, especially in this very early stage, and keep the bug reports flowing as usual. Your feedback has proven once again to be very valuable to us - please continue to help us make Java a better language.

Friday Jun 05, 2009

I and Jon presented our langtools BOF - thanks for everyone who decided to attend despite the unfortunate schedule (we were running in parallel with the 'after dark' bash!). The BOF has been mainly focused on the javac diagnostic improvements in JDK 7 (which are currently in the langtools workspace and planned for integration in M4). We showed a demo which (I hope) gave a feeling of the enhanced capabilities of the javac's new diagnostic subsystem. See the slides for more details. Some pointed out the need for full-blown XML diagnostics in modern build systems - stay tuned, as we are actually planning to do some work in this area in the JDK7 timeframe.

Friday Mar 20, 2009

It's been a while since my last post
on diagnostic formatters. Since then nothing much has changed, at least
in the surface; the compiler still generates the same error messages it
used to; but under the hood a lot has changed - the output might look
the same but the javac diagnostic subsystem is now taking advantage of
a number of goodies provided by the new diagnostic formatter hierarchy
- which I'll try to show you in this post.[Read More]

Monday Oct 06, 2008

Raw types - generic type whose actual type parameters are missing -
have been introduced in JDK 5.0 in order to provide better support for
migration compatibility. Since raw types can lead to heap-pollution,
their use is strongly discouraged,
and generally considered as a poor programming practice. However javac
does little in order to prevent the programmer from accidental usages
of raw types.[Read More]

Friday Aug 08, 2008

There are a lot of requests of improvements on the diagnostics that
are generated by javac. The javac diagnostic system has suffered
(starting from the JDK 5.0 release) from a lack of integration with the
new language constructs (like generics, wildcards, etc.) and because of
that issue, some of the diagnostics that are generated by javac are
difficult to understand (at best). I remember of myself scratching my
head when I first saw an error like this:

Wednesday Jun 04, 2008

Adding new features can impact on existing ones in non-trivial and often unpredictable ways. In the following entry I'll try to give you an idea of how deeply JSR14
(generic types for the Java platform) impacted on several existing features of the Java language and how all
this contributed to what we (informally) call the 'generic bug storm'.[Read More]

Wednesday Apr 09, 2008

Hello
I'm Maurizio Cimadamore (but maybe you've guessed that by looking at
the huge title on top of this page) and I joined Sun Microsystems in
December 2007. As Jonathan Gibbons pointed out in his great introduction, I come from the University of Bologna,
Italy (I bet you guessed this, too) where I had great time (since
2003) working on language design issues - mainly involving reification
of generics/wildcards (I hope to blog about this soon).[Read More]