# Package org.eclipse.jdt.core.dom.rewrite

The Java DOM/AST rewrite is the set of classes that are used to make changes to an existing DOM/AST tree.

See: Description

Interface Summary
ITrackedNodePosition: A tracked node position is returned when a rewrite change is requested to be tracked.

Class Summary
ASTRewrite: Infrastructure for modifying code by describing changes to AST nodes.
ImportRewrite: The `ImportRewrite` helps updating imports following a import order and on-demand imports threshold as configured by a project.
ImportRewrite.ImportRewriteContext: A `ImportRewrite.ImportRewriteContext` can optionally be used in e.g.
ListRewrite: For describing manipulations to a child list property of an AST node.
TargetSourceRangeComputer: An object for computing adjusted source ranges for AST nodes that are being replaced or deleted.
TargetSourceRangeComputer.SourceRange: Reified source range.

Enum Summary
ImportRewrite.TypeLocation: Used to determine how a type will be used, so that unwanted annotations can be filtered, which is in particular relevant for avoiding redundant null annotations in the scope of `@NonNullByDefault`.

## Package org.eclipse.jdt.core.dom.rewrite Description

The Java DOM/AST rewrite is the set of classes that are used to make changes to an existing DOM/AST tree.

## Package Specification

This package contains the Java DOM/AST classes used to make changes to an existing DOM/AST tree. The principal classes are `ASTRewrite` and `ListRewrite`.