Class BinaryTypeFactory
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.nd.java.model.BinaryTypeFactory
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic IBinaryType
create(IOrdinaryClassFile classFile, org.eclipse.core.runtime.IProgressMonitor monitor)
static BinaryTypeDescriptor
createDescriptor(IOrdinaryClassFile classFile)
static BinaryTypeDescriptor
createDescriptor(IType type)
static ClassFileReader
rawReadType(BinaryTypeDescriptor descriptor, boolean fullyInitialize)
static ClassFileReader
rawReadTypeTestForExists(BinaryTypeDescriptor descriptor, boolean fullyInitialize, boolean useInvalidArchiveCache)
Read the class file from disk, circumventing the index's cache.static IBinaryType
readFromIndex(JavaIndex index, BinaryTypeDescriptor descriptor, org.eclipse.core.runtime.IProgressMonitor monitor)
Tries to read the given IBinaryType from the index.static IBinaryType
readType(BinaryTypeDescriptor descriptor, org.eclipse.core.runtime.IProgressMonitor monitor)
Reads the given binary type.
-
Constructor Details
-
BinaryTypeFactory
public BinaryTypeFactory()
-
-
Method Details
-
createDescriptor
-
createDescriptor
-
create
public static IBinaryType create(IOrdinaryClassFile classFile, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException, ClassFormatException -
readType
public static IBinaryType readType(BinaryTypeDescriptor descriptor, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException, ClassFormatExceptionReads the given binary type. If the type can be found in the index with a fingerprint that exactly matches the file on disk, the type is read from the index. Otherwise the type is read from disk. Returns null if no such type exists. -
rawReadType
public static ClassFileReader rawReadType(BinaryTypeDescriptor descriptor, boolean fullyInitialize) throws JavaModelException, ClassFormatException -
rawReadTypeTestForExists
public static ClassFileReader rawReadTypeTestForExists(BinaryTypeDescriptor descriptor, boolean fullyInitialize, boolean useInvalidArchiveCache) throws JavaModelException, ClassFormatException, FileNotFoundExceptionRead the class file from disk, circumventing the index's cache. This should only be used by callers that need to read information from the class file which aren't present in the index (such as method bodies).- Returns:
- the newly-created ClassFileReader or null if the given class file does not exist.
- Throws:
ClassFormatException
- if the class file existed but was corruptJavaModelException
- if unable to read the class file due to a transient failureFileNotFoundException
- if the file does not exist
-
readFromIndex
public static IBinaryType readFromIndex(JavaIndex index, BinaryTypeDescriptor descriptor, org.eclipse.core.runtime.IProgressMonitor monitor) throws JavaModelException, BinaryTypeFactory.NotInIndexExceptionTries to read the given IBinaryType from the index. The return value is lightweight and may be cached with minimal memory cost. Returns an IBinaryType if the type was found in the index and the index was up-to-date. Throws a NotInIndexException if the index does not contain an up-to-date cache of the requested file. Returns null if the index contains an up-to-date cache of the requested file and it was able to determine that the requested class does not exist in that file.
-