public interface QualifierPolymorphism
Modifier and Type | Method and Description |
---|---|
void |
annotate(AnnotatedTypeMirror.AnnotatedExecutableType functionalInterface,
AnnotatedTypeMirror.AnnotatedExecutableType memberReference)
Resolves polymorphism annotations for the given type.
|
void |
annotate(MethodInvocationTree tree,
AnnotatedTypeMirror.AnnotatedExecutableType type)
Resolves polymorphism annotations for the given type.
|
void |
annotate(NewClassTree tree,
AnnotatedTypeMirror.AnnotatedExecutableType type)
Resolves polymorphism annotations for the given type.
|
static AnnotationMirror |
getPolymorphicQualifier(AnnotationMirror qual) |
static Name |
getPolymorphicQualifierTop(AnnotationMirror qual)
If
qual is a polymorphic qualifier, then the class specified by the PolymorphicQualifier meta-annotation on the polymorphic qualifier is returned. |
static boolean |
isPolyAll(AnnotationMirror qual) |
static boolean |
isPolymorphicQualified(AnnotationMirror qual) |
static boolean isPolyAll(AnnotationMirror qual)
qual
is @PolyAlly
static AnnotationMirror getPolymorphicQualifier(AnnotationMirror qual)
PolymorphicQualifier
meta-annotation on qual
if one exists;
otherwise return null.static boolean isPolymorphicQualified(AnnotationMirror qual)
qual
has the PolymorphicQualifier
meta-annotation.static Name getPolymorphicQualifierTop(AnnotationMirror qual)
qual
is a polymorphic qualifier, then the class specified by the PolymorphicQualifier
meta-annotation on the polymorphic qualifier is returned. Otherwise,
null is returned.
This value identifies the qualifier hierarchy to which this polymorphic qualifier belongs.
By convention, it is the top qualifier of the hierarchy. Use of PolymorphicQualifier.class
is discouraged, because it can lead to ambiguity if used for
multiple type systems.
qual
- an annotationPolymorphicQualifier
meta-annotation on qual
, if qual
is a polymorphic qualifier; otherwise, null.PolymorphicQualifier.value()
void annotate(MethodInvocationTree tree, AnnotatedTypeMirror.AnnotatedExecutableType type)
tree
- the tree associated with the typetype
- the type to annotate; is side-effected by this methodvoid annotate(NewClassTree tree, AnnotatedTypeMirror.AnnotatedExecutableType type)
tree
- the tree associated with the typetype
- the type to annotate; is side-effected by this methodvoid annotate(AnnotatedTypeMirror.AnnotatedExecutableType functionalInterface, AnnotatedTypeMirror.AnnotatedExecutableType memberReference)
functionalInterface
- the function type of memberReference
memberReference
- the type of a member reference; is side-effected by this method