-
- All Implemented Interfaces:
-
dev.thecodewarrior.mirror.type.TypeMirror
public interface ConcreteTypeMirror implements TypeMirror
A type mirror that represents a concrete type, i.e. a type representable by a java.lang.Class. The raw type conversion may be lossy, for instance a generic array type returns Object
[]and a specialized class returns its raw class counterpart.
-
-
Method Summary
Modifier and Type Method Description abstract TypegetCoreType()The Java Core Reflection type this mirror represents abstract AnnotatedTypegetCoreAnnotatedType()The Java Core Reflection annotated type this mirror represents. abstract ConcreteTypeMirrorgetRaw()The mirror representing this type without any generic specialization abstract Class<?>getJava()The raw Core Reflection class this mirror represents abstract Class<?>getErasure()The JVM erasure of this type. abstract AnnotationListgetTypeAnnotations()The type annotations present on this type. -
Methods inherited from class dev.thecodewarrior.mirror.type.ConcreteTypeMirror
asArrayMirror, asClassMirror, isAssignableFrom, toJavaString, toKotlinString, toString, withTypeAnnotations -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getCoreType
abstract Type getCoreType()
The Java Core Reflection type this mirror represents
-
getCoreAnnotatedType
abstract AnnotatedType getCoreAnnotatedType()
The Java Core Reflection annotated type this mirror represents.
!!NOTE!! The JVM implementations of
AnnotatedTypedon't implementequalsorhashCode, so they will equal neither each other nor this. If you need these methods pass any annotated type through Mirror.toCanonical.
-
getRaw
abstract ConcreteTypeMirror getRaw()
The mirror representing this type without any generic specialization
-
getErasure
abstract Class<?> getErasure()
The JVM erasure of this type.
-
getTypeAnnotations
abstract AnnotationList getTypeAnnotations()
The type annotations present on this type. These are not the annotations present on the declaration, they are the annotations present on the use of the type.
-
-
-
-