# Adopting 3.8 mechanisms and APIs

This section describes changes that are required if you are trying to change your 3.7 plug-in to adopt the 3.8 mechanisms and APIs.

1. AST.JLS4 for Java 7 constructs in 3.7.1

## 1. AST.JLS4 for Java 7 constructs in 3.7.1

A new AST level `org.eclipse.jdt.core.dom.AST#JLS4` has been added for Java 7 language changes. Clients of previous AST levels are recommended to adopt the new AST level and add support for the new constructs (`UnionType`, `TryStatement#resources() / #RESOURCES_PROPERTY`).

`org.eclipse.jdt.core.compiler.ReconcileContext#getAST4()` should be used were possible.

`org.eclipse.jdt.ui.SharedASTProvider#getAST(..)` now returns a JLS4 AST.

Note that these changes only affect products moving from Eclipse 3.7.0 to 3.7.1 or 3.8. Eclipse 3.7.1 and later already contain these changes.