Package org.eclipse.jdt.ui.text.java

# Interface IInvocationContext

public interface IInvocationContext
Context information for quick fix and quick assist processors.

Note: this interface is not intended to be implemented.

Since:
  3.0
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

## Method Summary

Modifier and Type
Method
Description
`CompilationUnit`
`getASTRoot()`
Returns an AST of the compilation unit, possibly only a partial AST focused on the selection offset (see `ASTParser.setFocalPosition(int)`).
`ICompilationUnit`
`getCompilationUnit()`
`ASTNode`
`getCoveredNode()`
If the AST contains nodes whose range is equal to the selection, returns the innermost of those nodes.
`ASTNode`
`getCoveringNode()`
Returns the innermost node that fully contains the selection.
`int`
`getSelectionLength()`
`int`
`getSelectionOffset()`

## Method Details

### getCompilationUnit

ICompilationUnit getCompilationUnit()

Returns:
  the current compilation unit

### getSelectionOffset

int getSelectionOffset()

Returns:
  the offset of the current selection

### getSelectionLength

int getSelectionLength()

Returns:
  the length of the current selection

### getASTRoot

CompilationUnit getASTRoot()
Returns an AST of the compilation unit, possibly only a partial AST focused on the selection offset (see `ASTParser.setFocalPosition(int)`). The returned AST is shared and therefore protected and cannot be modified. The client must check the AST API level and do nothing if they are given an AST they can't handle.

Returns:
  the root of the AST corresponding to the current compilation unit
See Also:
  - `AST.apiLevel()`

### getCoveredNode

ASTNode getCoveredNode()
If the AST contains nodes whose range is equal to the selection, returns the innermost of those nodes. Otherwise, returns the first node in a preorder traversal of the AST, where the complete node range is covered by the selection.

Returns:
  the covered node, or `null` if the selection is empty or too short to cover an entire node

### getCoveringNode

ASTNode getCoveringNode()
Returns the innermost node that fully contains the selection. A node also contains the zero-length selection on either end.

If more than one node covers the selection, the returned node is the last covering node found in a preorder traversal of the AST. This implies that for a zero-length selection between two adjacent sibling nodes, the node on the right is returned.

Returns:
  the covering node