Я читаю вопрос как «как я могу обнаружить код, который можно перенести из парадигм Java 6 в парадигмы Java 7». Примерами могут быть использование оператора diamond:
List<Foo> bar = new ArrayList<>(); // instead of new ArrayList<Foo>()
и мультивыбор:
try { }
catch (FooException | BarException e) { }
/*
Instead of:
catch (FooException e) { }
catch (BarException e) { }
*/
В этом случае средство проверки стиля исходного кода (например, PMD и т. Д.) Должно быть в состоянии выделить эти возможности.
Например, плагин NetBeans EasyPMD обычно помечает эти два конкретных случая (а также другие, я уверен) и предлагает предложения для преобразования в эквиваленты JDK 7. При обнаружении структуры кода, предшествующей JDK-7, она выделяется значком предупреждения, а щелчок по значку дает предлагаемый рефакторинг для эквивалента JDK-7.
Полагаю, это не является частью процесса компиляции как такового (хотя вы можете автоматизировать его как часть процесса сборки, например, с помощью Ant), но это следующая лучшая вещь.