# Enum Class ImportRewrite.TypeLocation

java.lang.Object
java.lang.Enum<ImportRewrite.TypeLocation>
org.eclipse.jdt.core.dom.rewrite.ImportRewrite.TypeLocation

All Implemented Interfaces:
  `Serializable, Comparable<ImportRewrite.TypeLocation>, Constable`

Enclosing class:
  `ImportRewrite`

public static enum ImportRewrite.TypeLocation extends Enum<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`. This enum is a superset of org.eclipse.jdt.annotation.DefaultLocation, and roughly corresponds to the classification of type locations as introduced by JSR 308.

Since:
  3.13

## Nested Class Summary

### Nested classes/interfaces inherited from class Enum

`Enum.EnumDesc<E>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`ARRAY_CONTENTS`
see org.eclipse.jdt.annotation.DefaultLocation.ARRAY_CONTENTS
`CAST`
The special value `CAST` is used for casts.
`EXCEPTION`
The special value `EXCEPTION` is used for exception types in catch and throws declarations, which are implicitly non-null.
`FIELD`
see org.eclipse.jdt.annotation.DefaultLocation.FIELD
`INSTANCEOF`
The special value `INSTANCEOF` is used for `instanceof` expressions.
`LOCAL_VARIABLE`
The special value `LOCAL_VARIABLE` is used for local variables: their nullness is determines by flow analysis, so top level nullness annotations are usually not needed for local variables (unless their type is a free type variable).
`NEW`
The special value `NEW` is used for `new` expressions (object allocations).
`OTHER`
The special value `OTHER` is used for locations where type annotations are illegal, like type literals (X.class), annotations, or as scope for static field accesses.
`PARAMETER`
see org.eclipse.jdt.annotation.DefaultLocation.PARAMETER
`RECEIVER`
The special value `RECEIVER` is used for the receiver type in a method declaration or method reference.
`RETURN_TYPE`
see org.eclipse.jdt.annotation.DefaultLocation.RETURN_TYPE
`TYPE_ARGUMENT`
see org.eclipse.jdt.annotation.DefaultLocation.TYPE_ARGUMENT
`TYPE_BOUND`
see org.eclipse.jdt.annotation.DefaultLocation.TYPE_BOUND
`TYPE_PARAMETER`
see org.eclipse.jdt.annotation.DefaultLocation.TYPE_PARAMETER
`UNKNOWN`
The special value `UNKNOWN` is used for invocations that don't specify the intended type usage.

## Method Summary

Modifier and Type
Method
Description
`static ImportRewrite.TypeLocation`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static ImportRewrite.TypeLocation[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.

### Methods inherited from class Enum

`clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class Object

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### PARAMETER

public static final ImportRewrite.TypeLocation PARAMETER
see org.eclipse.jdt.annotation.DefaultLocation.PARAMETER

Since:
  3.13

### RETURN_TYPE

public static final ImportRewrite.TypeLocation RETURN_TYPE
see org.eclipse.jdt.annotation.DefaultLocation.RETURN_TYPE

Since:
  3.13

### FIELD

public static final ImportRewrite.TypeLocation FIELD
see org.eclipse.jdt.annotation.DefaultLocation.FIELD

Since:
  3.13

### TYPE_PARAMETER

public static final ImportRewrite.TypeLocation TYPE_PARAMETER
see org.eclipse.jdt.annotation.DefaultLocation.TYPE_PARAMETER

Since:
  3.13

### TYPE_BOUND

public static final ImportRewrite.TypeLocation TYPE_BOUND
see org.eclipse.jdt.annotation.DefaultLocation.TYPE_BOUND

Since:
  3.13

### TYPE_ARGUMENT

public static final ImportRewrite.TypeLocation TYPE_ARGUMENT
see org.eclipse.jdt.annotation.DefaultLocation.TYPE_ARGUMENT

Since:
  3.13

### ARRAY_CONTENTS

public static final ImportRewrite.TypeLocation ARRAY_CONTENTS
see org.eclipse.jdt.annotation.DefaultLocation.ARRAY_CONTENTS

Since:
  3.13

### LOCAL_VARIABLE

public static final ImportRewrite.TypeLocation LOCAL_VARIABLE
The special value `LOCAL_VARIABLE` is used for local variables: their nullness is determines by flow analysis, so top level nullness annotations are usually not needed for local variables (unless their type is a free type variable). Does not correspond to a value in org.eclipse.jdt.annotation.DefaultLocation.

Since:
  3.13

### CAST

public static final ImportRewrite.TypeLocation CAST
The special value `CAST` is used for casts. Casts are never affected by `@NonNullByDefault` Does not correspond to a value in org.eclipse.jdt.annotation.DefaultLocation.

Since:
  3.13

### INSTANCEOF

public static final ImportRewrite.TypeLocation INSTANCEOF
The special value `INSTANCEOF` is used for `instanceof` expressions. Null annotations are not supported in this location. Does not correspond to a value in org.eclipse.jdt.annotation.DefaultLocation.

Since:
  3.13

### NEW

public static final ImportRewrite.TypeLocation NEW
The special value `NEW` is used for `new` expressions (object allocations). Null annotations are not supported in this location. Does not correspond to a value in org.eclipse.jdt.annotation.DefaultLocation.

Since:
  3.13

### RECEIVER

public static final ImportRewrite.TypeLocation RECEIVER
The special value `RECEIVER` is used for the receiver type in a method declaration or method reference. Null annotations are not supported in this location. Does not correspond to a value in org.eclipse.jdt.annotation.DefaultLocation.

Since:
  3.13

### EXCEPTION

public static final ImportRewrite.TypeLocation EXCEPTION
The special value `EXCEPTION` is used for exception types in catch and throws declarations, which are implicitly non-null. Does not correspond to a value in org.eclipse.jdt.annotation.DefaultLocation.

Since:
  3.13

### OTHER

public static final ImportRewrite.TypeLocation OTHER
The special value `OTHER` is used for locations where type annotations are illegal, like type literals (X.class), annotations, or as scope for static field accesses. Does not correspond to a value in org.eclipse.jdt.annotation.DefaultLocation.

Since:
  3.13

### UNKNOWN

public static final ImportRewrite.TypeLocation UNKNOWN
The special value `UNKNOWN` is used for invocations that don't specify the intended type usage. Does not correspond to a value in org.eclipse.jdt.annotation.DefaultLocation.

Since:
  3.13

## Method Details

### values

public static ImportRewrite.TypeLocation[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

Returns:
  an array containing the constants of this enum class, in the order they are declared

### valueOf

public static ImportRewrite.TypeLocation valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum class has no constant with the specified name
  `NullPointerException` - if the argument is null