Class ElementUtils
- java.lang.Object
-
- com.oracle.truffle.dsl.processor.java.ElementUtils
-
public class ElementUtils extends java.lang.ObjectTHIS IS NOT PUBLIC API.
-
-
Constructor Summary
Constructors Constructor Description ElementUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static javax.lang.model.type.TypeMirrorboxType(ProcessorContext context, javax.lang.model.type.TypeMirror primitiveType)static booleancanThrowType(java.util.List<? extends javax.lang.model.type.TypeMirror> thrownTypes, javax.lang.model.type.TypeMirror exceptionType)static java.util.List<javax.lang.model.element.AnnotationMirror>collectAnnotations(ProcessorContext context, javax.lang.model.element.AnnotationMirror markerAnnotation, java.lang.String elementName, javax.lang.model.element.Element element, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)static intcompareByTypeHierarchy(javax.lang.model.type.TypeMirror t1, javax.lang.model.type.TypeMirror t2)static java.lang.StringcreateConstantName(java.lang.String simpleName)static java.lang.StringcreateReferenceName(javax.lang.model.element.ExecutableElement method)static javax.lang.model.type.TypeMirroreraseGenericTypes(javax.lang.model.type.TypeMirror type)static javax.lang.model.type.TypeMirrorfillInGenericWildcards(javax.lang.model.type.TypeMirror type)static javax.lang.model.element.AnnotationMirrorfindAnnotationMirror(java.util.List<? extends javax.lang.model.element.AnnotationMirror> mirrors, javax.lang.model.element.TypeElement expectedAnnotationType)static javax.lang.model.element.AnnotationMirrorfindAnnotationMirror(javax.annotation.processing.ProcessingEnvironment processingEnv, java.util.List<? extends javax.lang.model.element.AnnotationMirror> mirrors, java.lang.Class<?> annotationClass)static javax.lang.model.element.AnnotationMirrorfindAnnotationMirror(javax.annotation.processing.ProcessingEnvironment processingEnv, javax.lang.model.element.Element element, java.lang.Class<?> annotationClass)static javax.lang.model.element.ExecutableElementfindExecutableElement(javax.lang.model.type.DeclaredType type, java.lang.String name)static javax.lang.model.element.TypeElementfindNearestEnclosingType(javax.lang.model.element.Element element)static javax.lang.model.element.PackageElementfindPackageElement(javax.lang.model.element.Element type)static javax.lang.model.element.TypeElementfindRootEnclosingType(javax.lang.model.element.Element element)static javax.lang.model.element.VariableElementfindVariableElement(javax.lang.model.type.DeclaredType type, java.lang.String name)static java.lang.StringfirstLetterLowerCase(java.lang.String name)static java.lang.StringfirstLetterUpperCase(java.lang.String name)static java.lang.StringfixECJBinaryNameIssue(java.lang.String name)static javax.lang.model.element.TypeElementfromTypeMirror(javax.lang.model.type.TypeMirror mirror)static <T> TgetAnnotationValue(java.lang.Class<T> expectedType, javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)static javax.lang.model.element.AnnotationValuegetAnnotationValue(javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)static <T> java.util.List<T>getAnnotationValueList(java.lang.Class<T> expectedListType, javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)static java.util.List<javax.lang.model.type.TypeMirror>getAssignableTypes(ProcessorContext context, javax.lang.model.type.TypeMirror type)static javax.lang.model.type.TypeMirrorgetCommonSuperType(ProcessorContext context, javax.lang.model.type.TypeMirror[] types)static java.util.List<javax.lang.model.element.ExecutableElement>getDeclaredMethodsInSuperTypes(javax.lang.model.element.TypeElement declaringElement, java.lang.String name, javax.lang.model.type.TypeMirror... params)Gets the methods in the super type hierarchy (excluding interfaces) that are overridden by a method in a subtype.static java.lang.StringgetDeclaredName(javax.lang.model.type.DeclaredType element, boolean includeTypeVariables)static javax.lang.model.type.DeclaredTypegetDeclaredType(javax.lang.model.element.TypeElement typeElem, javax.lang.model.type.TypeMirror... typeArgs)static java.util.List<javax.lang.model.element.TypeElement>getDeclaredTypes(javax.lang.model.element.TypeElement element)static java.util.List<javax.lang.model.element.TypeElement>getDirectSuperTypes(javax.lang.model.element.TypeElement element)static java.util.List<javax.lang.model.element.Element>getElementHierarchy(javax.lang.model.element.Element e)static java.lang.StringgetEnclosedQualifiedName(javax.lang.model.type.DeclaredType mirror)static java.lang.StringgetPackageName(javax.lang.model.element.TypeElement element)static java.lang.StringgetPackageName(javax.lang.model.type.TypeMirror mirror)static java.lang.StringgetQualifiedName(javax.lang.model.element.TypeElement element)static java.lang.StringgetQualifiedName(javax.lang.model.type.TypeMirror mirror)static java.util.List<java.lang.String>getQualifiedSuperTypeNames(javax.lang.model.element.TypeElement element)static java.lang.StringgetReadableSignature(javax.lang.model.element.ExecutableElement method)static java.lang.StringgetSimpleName(javax.lang.model.element.TypeElement element)static java.lang.StringgetSimpleName(javax.lang.model.type.TypeMirror mirror)static javax.lang.model.element.TypeElementgetSuperType(javax.lang.model.element.TypeElement element)Gets the element representing the super class of a given type element.static java.util.List<javax.lang.model.element.TypeElement>getSuperTypes(javax.lang.model.element.TypeElement element)static javax.lang.model.type.TypeMirrorgetType(javax.annotation.processing.ProcessingEnvironment processingEnv, java.lang.Class<?> element)static java.lang.StringgetTypeId(javax.lang.model.type.TypeMirror mirror)static java.lang.StringgetUniqueIdentifier(javax.lang.model.type.TypeMirror typeMirror)static javax.lang.model.element.ModifiergetVisibility(java.util.Set<javax.lang.model.element.Modifier> modifier)static booleanhasError(javax.lang.model.type.TypeMirror mirror)static booleanisAssignable(javax.lang.model.type.TypeMirror from, javax.lang.model.type.TypeMirror to)static booleanisDeclaredMethodInSuperType(javax.lang.model.element.TypeElement element, java.lang.String name, javax.lang.model.type.TypeMirror[] params)static booleanisEnclosedIn(javax.lang.model.element.Element enclosedIn, javax.lang.model.element.Element element)static booleanisObject(javax.lang.model.type.TypeMirror actualType)static booleanisPrimitive(javax.lang.model.type.TypeMirror mirror)static booleanisSubtype(javax.lang.model.type.TypeMirror type1, javax.lang.model.type.TypeMirror type2)static booleanisTopLevelClass(javax.lang.model.type.TypeMirror importType)static booleanisVoid(javax.lang.model.type.TypeMirror mirror)static java.util.Set<javax.lang.model.element.Modifier>modifiers(javax.lang.model.element.Modifier... modifier)static booleanneedsCastTo(javax.lang.model.type.TypeMirror sourceType, javax.lang.model.type.TypeMirror targetType)static java.lang.StringprintException(java.lang.Throwable e)static booleantypeEquals(javax.lang.model.type.TypeMirror type1, javax.lang.model.type.TypeMirror type2)
-
-
-
Method Detail
-
getType
public static javax.lang.model.type.TypeMirror getType(javax.annotation.processing.ProcessingEnvironment processingEnv, java.lang.Class<?> element)
-
findExecutableElement
public static javax.lang.model.element.ExecutableElement findExecutableElement(javax.lang.model.type.DeclaredType type, java.lang.String name)
-
needsCastTo
public static boolean needsCastTo(javax.lang.model.type.TypeMirror sourceType, javax.lang.model.type.TypeMirror targetType)
-
createReferenceName
public static java.lang.String createReferenceName(javax.lang.model.element.ExecutableElement method)
-
findVariableElement
public static javax.lang.model.element.VariableElement findVariableElement(javax.lang.model.type.DeclaredType type, java.lang.String name)
-
boxType
public static javax.lang.model.type.TypeMirror boxType(ProcessorContext context, javax.lang.model.type.TypeMirror primitiveType)
-
getDeclaredType
public static javax.lang.model.type.DeclaredType getDeclaredType(javax.lang.model.element.TypeElement typeElem, javax.lang.model.type.TypeMirror... typeArgs)
-
collectAnnotations
public static java.util.List<javax.lang.model.element.AnnotationMirror> collectAnnotations(ProcessorContext context, javax.lang.model.element.AnnotationMirror markerAnnotation, java.lang.String elementName, javax.lang.model.element.Element element, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
-
getCommonSuperType
public static javax.lang.model.type.TypeMirror getCommonSuperType(ProcessorContext context, javax.lang.model.type.TypeMirror[] types)
-
getReadableSignature
public static java.lang.String getReadableSignature(javax.lang.model.element.ExecutableElement method)
-
hasError
public static boolean hasError(javax.lang.model.type.TypeMirror mirror)
-
isSubtype
public static boolean isSubtype(javax.lang.model.type.TypeMirror type1, javax.lang.model.type.TypeMirror type2)
-
isAssignable
public static boolean isAssignable(javax.lang.model.type.TypeMirror from, javax.lang.model.type.TypeMirror to)
-
modifiers
public static java.util.Set<javax.lang.model.element.Modifier> modifiers(javax.lang.model.element.Modifier... modifier)
-
getTypeId
public static java.lang.String getTypeId(javax.lang.model.type.TypeMirror mirror)
-
getSimpleName
public static java.lang.String getSimpleName(javax.lang.model.element.TypeElement element)
-
getSimpleName
public static java.lang.String getSimpleName(javax.lang.model.type.TypeMirror mirror)
-
getDeclaredName
public static java.lang.String getDeclaredName(javax.lang.model.type.DeclaredType element, boolean includeTypeVariables)
-
fixECJBinaryNameIssue
public static java.lang.String fixECJBinaryNameIssue(java.lang.String name)
-
getQualifiedName
public static java.lang.String getQualifiedName(javax.lang.model.element.TypeElement element)
-
getQualifiedName
public static java.lang.String getQualifiedName(javax.lang.model.type.TypeMirror mirror)
-
isVoid
public static boolean isVoid(javax.lang.model.type.TypeMirror mirror)
-
isPrimitive
public static boolean isPrimitive(javax.lang.model.type.TypeMirror mirror)
-
getQualifiedSuperTypeNames
public static java.util.List<java.lang.String> getQualifiedSuperTypeNames(javax.lang.model.element.TypeElement element)
-
getDeclaredTypes
public static java.util.List<javax.lang.model.element.TypeElement> getDeclaredTypes(javax.lang.model.element.TypeElement element)
-
isEnclosedIn
public static boolean isEnclosedIn(javax.lang.model.element.Element enclosedIn, javax.lang.model.element.Element element)
-
findRootEnclosingType
public static javax.lang.model.element.TypeElement findRootEnclosingType(javax.lang.model.element.Element element)
-
getElementHierarchy
public static java.util.List<javax.lang.model.element.Element> getElementHierarchy(javax.lang.model.element.Element e)
-
findNearestEnclosingType
public static javax.lang.model.element.TypeElement findNearestEnclosingType(javax.lang.model.element.Element element)
-
getDirectSuperTypes
public static java.util.List<javax.lang.model.element.TypeElement> getDirectSuperTypes(javax.lang.model.element.TypeElement element)
-
getAssignableTypes
public static java.util.List<javax.lang.model.type.TypeMirror> getAssignableTypes(ProcessorContext context, javax.lang.model.type.TypeMirror type)
-
getSuperType
public static javax.lang.model.element.TypeElement getSuperType(javax.lang.model.element.TypeElement element)
Gets the element representing the super class of a given type element.
-
getSuperTypes
public static java.util.List<javax.lang.model.element.TypeElement> getSuperTypes(javax.lang.model.element.TypeElement element)
-
getPackageName
public static java.lang.String getPackageName(javax.lang.model.element.TypeElement element)
-
getEnclosedQualifiedName
public static java.lang.String getEnclosedQualifiedName(javax.lang.model.type.DeclaredType mirror)
-
getPackageName
public static java.lang.String getPackageName(javax.lang.model.type.TypeMirror mirror)
-
createConstantName
public static java.lang.String createConstantName(java.lang.String simpleName)
-
fromTypeMirror
public static javax.lang.model.element.TypeElement fromTypeMirror(javax.lang.model.type.TypeMirror mirror)
-
getAnnotationValueList
public static <T> java.util.List<T> getAnnotationValueList(java.lang.Class<T> expectedListType, javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)
-
getAnnotationValue
public static <T> T getAnnotationValue(java.lang.Class<T> expectedType, javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)
-
getAnnotationValue
public static javax.lang.model.element.AnnotationValue getAnnotationValue(javax.lang.model.element.AnnotationMirror mirror, java.lang.String name)
-
printException
public static java.lang.String printException(java.lang.Throwable e)
-
findAnnotationMirror
public static javax.lang.model.element.AnnotationMirror findAnnotationMirror(javax.annotation.processing.ProcessingEnvironment processingEnv, javax.lang.model.element.Element element, java.lang.Class<?> annotationClass)
-
findAnnotationMirror
public static javax.lang.model.element.AnnotationMirror findAnnotationMirror(javax.annotation.processing.ProcessingEnvironment processingEnv, java.util.List<? extends javax.lang.model.element.AnnotationMirror> mirrors, java.lang.Class<?> annotationClass)
-
findAnnotationMirror
public static javax.lang.model.element.AnnotationMirror findAnnotationMirror(java.util.List<? extends javax.lang.model.element.AnnotationMirror> mirrors, javax.lang.model.element.TypeElement expectedAnnotationType)
-
findPackageElement
public static javax.lang.model.element.PackageElement findPackageElement(javax.lang.model.element.Element type)
-
firstLetterUpperCase
public static java.lang.String firstLetterUpperCase(java.lang.String name)
-
firstLetterLowerCase
public static java.lang.String firstLetterLowerCase(java.lang.String name)
-
isDeclaredMethodInSuperType
public static boolean isDeclaredMethodInSuperType(javax.lang.model.element.TypeElement element, java.lang.String name, javax.lang.model.type.TypeMirror[] params)
-
getDeclaredMethodsInSuperTypes
public static java.util.List<javax.lang.model.element.ExecutableElement> getDeclaredMethodsInSuperTypes(javax.lang.model.element.TypeElement declaringElement, java.lang.String name, javax.lang.model.type.TypeMirror... params)Gets the methods in the super type hierarchy (excluding interfaces) that are overridden by a method in a subtype.- Parameters:
declaringElement- the subtype element declaring the methodname- the name of the methodparams- the signature of the method
-
typeEquals
public static boolean typeEquals(javax.lang.model.type.TypeMirror type1, javax.lang.model.type.TypeMirror type2)
-
getUniqueIdentifier
public static java.lang.String getUniqueIdentifier(javax.lang.model.type.TypeMirror typeMirror)
-
compareByTypeHierarchy
public static int compareByTypeHierarchy(javax.lang.model.type.TypeMirror t1, javax.lang.model.type.TypeMirror t2)
-
canThrowType
public static boolean canThrowType(java.util.List<? extends javax.lang.model.type.TypeMirror> thrownTypes, javax.lang.model.type.TypeMirror exceptionType)
-
getVisibility
public static javax.lang.model.element.Modifier getVisibility(java.util.Set<javax.lang.model.element.Modifier> modifier)
-
isTopLevelClass
public static boolean isTopLevelClass(javax.lang.model.type.TypeMirror importType)
-
isObject
public static boolean isObject(javax.lang.model.type.TypeMirror actualType)
-
fillInGenericWildcards
public static javax.lang.model.type.TypeMirror fillInGenericWildcards(javax.lang.model.type.TypeMirror type)
-
eraseGenericTypes
public static javax.lang.model.type.TypeMirror eraseGenericTypes(javax.lang.model.type.TypeMirror type)
-
-