# Module java.compiler

Defines the Language Model, Annotation Processing, and Java Compiler APIs.

These APIs model declarations and types of the Java programming language, and define interfaces for tools such as compilers which can be invoked from a program.

This module is upgradeable.

Module Graph:
Since:
  9

- ## Packages

  Exports
  Package | Description
  --- | ---
  javax.annotation.processing | Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
  javax.lang.model | Types and hierarchies of packages comprising a Java language model, a model of the declarations and types of the Java programming language.
  javax.lang.model.element | Interfaces used to model elements of the Java programming language.
  javax.lang.model.type | Interfaces used to model Java programming language types.
  javax.lang.model.util | Utilities to assist in the processing of program elements and types.
  javax.tools | Provides interfaces for tools which can be invoked from a program, for example, compilers.