# Uses of Interface
org.eclipse.jdt.core.ISourceReference

Packages that use ISourceReference
Package
Description
org.eclipse.jdt.core
The Java model is the set of classes that model the objects associated with creating, editing, and building a Java program.
org.eclipse.jdt.ui
Application programming interfaces for interaction with the Eclipse Java User Interface.
org.eclipse.jdt.ui.text.folding
Application programming interfaces for interaction with the Eclipse Java Editor folding.

## Uses of ISourceReference in org.eclipse.jdt.core

Subinterfaces of ISourceReference in org.eclipse.jdt.core
Modifier and Type
Interface
Description
`interface`
`IAnnotation`
Represents an annotation on a package declaration, a type, a method, a field or a local variable in a compilation unit or a class file.
`interface`
`IClassFile`
Represents a single `.class` file, holding the binary form of either a type or a module: A class file of type `IOrdinaryClassFile` has a single child of type `IType`, a class file of type `IModularClassFile` has a single child of type `IModuleDescription`. Class file elements need to be opened before they can be navigated.
`interface`
`ICompilationUnit`
Represents an entire Java compilation unit (source file with one of the `Java-like extensions`).
`interface`
`IField`
Represents a field declared in a type.
`interface`
`IImportContainer`
Represents an import container is a child of a Java compilation unit that contains all (and only) the import declarations.
`interface`
`IImportDeclaration`
Represents an import declaration in Java compilation unit.
`interface`
`IInitializer`
Represents a stand-alone instance or class (static) initializer in a type.
`interface`
`ILocalVariable`
Represents a local variable declared in a method or an initializer.
`interface`
`IMember`
Common protocol for Java elements that can be members of types.
`interface`
`IMethod`
Represents a method (or constructor) declared in a type.
`interface`
`IModularClassFile`
Represents the class file of a module description ("module-info.class").
`interface`
`IModuleDescription`
Represents a Java module descriptor.
`interface`
`IOrdinaryClassFile`
Ordinary form of a `IClassFile` which holds exactly one `IType`.
`interface`
`IPackageDeclaration`
Represents a package declaration in Java compilation unit.
`interface`
`IType`
Represents either a source type in a compilation unit (either a top-level type, a member type, a local type, an anonymous type or a lambda expression) or a binary type in a class file.
`interface`
`ITypeParameter`
Represents a type parameter defined by a type or a method in a compilation unit or a class file.
`interface`
`ITypeRoot`
Represents an entire Java type root (either an `ICompilationUnit` or an `IClassFile`).

## Uses of ISourceReference in org.eclipse.jdt.ui

Methods in org.eclipse.jdt.ui with parameters of type ISourceReference
Modifier and Type
Method
Description
`protected boolean`
ProblemsLabelDecorator.`isInside(int pos, ISourceReference sourceElement)`
Tests if a position is inside the source range of an element.
`static void`
JavaUI.`revealInEditor(org.eclipse.ui.IEditorPart part, ISourceReference element)`
Deprecated.
use `revealInEditor(IEditorPart, IJavaElement)` instead

## Uses of ISourceReference in org.eclipse.jdt.ui.text.folding

Methods in org.eclipse.jdt.ui.text.folding with parameters of type ISourceReference
Modifier and Type
Method
Description
`protected final org.eclipse.jface.text.IRegion[]`
DefaultJavaFoldingStructureProvider.`computeProjectionRanges(ISourceReference reference, DefaultJavaFoldingStructureProvider.FoldingStructureComputationContext ctx)`
Computes the projection ranges for a given `ISourceReference`.