Class ExternalAnnotationProvider
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ExternalAnnotationProvider
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceclassWalker that may serve the annotations on type parameters of the current class or method. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final charRepresents absence of a null annotation.static final charRepresentation of a 'nonnull' annotation, independent of the concrete annotation name used in Java sources.static final charRepresentation of a 'nullable' annotation, independent of the concrete annotation name used in Java sources.static final String -
Constructor Summary
ConstructorsConstructorDescriptionExternalAnnotationProvider(InputStream input, String typeName) Create and initialize. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidassertClassHeader(String line, String typeName) Assert that the given line is a class header for 'typeName' (slash-separated qualified name).static StringextractSignature(String line) Extract the signature from a line of an external annotation file.forField(char[] selector, char[] signature, LookupEnvironment environment) forMethod(char[] selector, char[] signature, LookupEnvironment environment) forTypeHeader(LookupEnvironment environment) static ITypeAnnotationWalkersynthesizeForMethod(char[] source, LookupEnvironment env) toString()protected static StringLines may contain arbitrary trailing data, separated by white space.
-
Field Details
-
ANNOTATION_FILE_EXTENSION
- See Also:
-
CLASS_PREFIX
- See Also:
-
SUPER_PREFIX
- See Also:
-
NULLABLE
public static final char NULLABLERepresentation of a 'nullable' annotation, independent of the concrete annotation name used in Java sources.- See Also:
-
NONNULL
public static final char NONNULLRepresentation of a 'nonnull' annotation, independent of the concrete annotation name used in Java sources.- See Also:
-
NO_ANNOTATION
public static final char NO_ANNOTATIONRepresents absence of a null annotation. Useful for removing an existing null annotation. This character is used only internally, it is not part of the Eclipse External Annotation file format.- See Also:
-
ANNOTATION_FILE_SUFFIX
- See Also:
-
-
Constructor Details
-
ExternalAnnotationProvider
Create and initialize.- Parameters:
input- open input stream to read the annotations from, will be closed by the constructor.typeName- slash-separated qualified name of a type- Throws:
IOException- various issues when accessing the annotation file
-
-
Method Details
-
assertClassHeader
Assert that the given line is a class header for 'typeName' (slash-separated qualified name).- Throws:
IOException
-
extractSignature
-
trimTail
-
forTypeHeader
-
forMethod
public ITypeAnnotationWalker forMethod(char[] selector, char[] signature, LookupEnvironment environment) -
forField
public ITypeAnnotationWalker forField(char[] selector, char[] signature, LookupEnvironment environment) -
toString
-
synthesizeForMethod
-