Class El


  • public class El
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static javax.lang.model.util.Elements elements  
      private static javax.lang.model.util.Elements myElements  
    • Constructor Summary

      Constructors 
      Constructor Description
      El()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static void addTypeName​(java.lang.StringBuilder sb, javax.lang.model.type.TypeMirror type)  
      private static void aName​(java.lang.StringBuilder sb, java.lang.Class<?> c)  
      static <E extends javax.lang.model.element.Element>
      E
      createUpdateableElement​(E element)  
      static javax.lang.model.element.TypeElement fromDescriptor​(java.lang.String fieldDescriptor)  
      static java.util.List<? extends javax.lang.model.element.AnnotationMirror> getAllAnnotationMirrors​(javax.lang.model.element.Element e)  
      static java.util.List<? extends javax.lang.model.element.Element> getAllMembers​(javax.lang.model.element.TypeElement type)  
      static java.util.List<javax.lang.model.element.ExecutableElement> getAllMethods​(javax.lang.model.element.TypeElement typeElement, java.lang.String name, javax.lang.model.type.TypeMirror... parameters)  
      static javax.lang.model.element.Name getBinaryName​(javax.lang.model.element.TypeElement type)  
      static java.lang.String getConstantExpression​(java.lang.Object value)  
      static javax.lang.model.element.ExecutableElement getConstructor​(java.lang.Class<?> cls, java.lang.Class<?>... parameters)  
      static javax.lang.model.element.ExecutableElement getConstructor​(javax.lang.model.element.TypeElement typeElement, javax.lang.model.type.TypeMirror... parameters)  
      static java.lang.String getDocComment​(javax.lang.model.element.Element e)  
      static java.util.List<? extends javax.lang.model.element.ExecutableElement> getEffectiveMethods​(javax.lang.model.element.TypeElement cls)
      Return effective methods for a class.
      static java.util.Map<? extends javax.lang.model.element.ExecutableElement,​? extends javax.lang.model.element.AnnotationValue> getElementValuesWithDefaults​(javax.lang.model.element.AnnotationMirror a)  
      static javax.lang.model.element.ExecutableElement getExecutableElement​(java.lang.String methodString)
      Returns ExecutableElement from text form.
      static java.lang.String getExecutableString​(java.lang.reflect.Method method)
      Returns method in text form.
      static java.lang.String getExecutableString​(javax.lang.model.element.ExecutableElement method)
      Returns method in text form.
      static javax.lang.model.element.VariableElement getField​(java.lang.Class<?> cls, java.lang.String name)  
      static javax.lang.model.element.VariableElement getField​(javax.lang.model.element.TypeElement typeElement, java.lang.String name)  
      static java.lang.String getInternalForm​(javax.lang.model.element.TypeElement type)  
      static javax.lang.model.element.ExecutableElement getMethod​(java.lang.Class<?> cls, java.lang.String name, java.lang.Class<?>... parameters)  
      static javax.lang.model.element.ExecutableElement getMethod​(javax.lang.model.element.TypeElement typeElement, java.lang.String name, javax.lang.model.type.TypeMirror... parameters)
      Returns the most specific named method in typeElement, or null if such method was not found
      static javax.lang.model.element.Name getName​(java.lang.CharSequence cs)  
      static javax.lang.model.element.PackageElement getPackageElement​(java.lang.CharSequence name)  
      static javax.lang.model.element.PackageElement getPackageOf​(javax.lang.model.element.Element type)  
      static javax.lang.model.type.TypeMirror[] getParams​(java.lang.Class<?>... parameters)  
      static javax.lang.model.element.TypeElement getTypeElement​(java.lang.CharSequence name)  
      static boolean hides​(javax.lang.model.element.Element hider, javax.lang.model.element.Element hidden)  
      static boolean isDeprecated​(javax.lang.model.element.Element e)  
      static boolean isInterface​(javax.lang.model.element.ElementKind kind)  
      private static boolean overrides​(java.util.Collection<javax.lang.model.element.ExecutableElement> methods, javax.lang.model.element.ExecutableElement method)  
      static boolean overrides​(javax.lang.model.element.ExecutableElement overrider, javax.lang.model.element.ExecutableElement overridden, javax.lang.model.element.TypeElement type)  
      static void printElements​(java.io.Writer w, javax.lang.model.element.Element... elements)  
      static void setElements​(javax.lang.model.util.Elements elements)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • myElements

        private static final javax.lang.model.util.Elements myElements
      • elements

        private static javax.lang.model.util.Elements elements
    • Constructor Detail

      • El

        public El()
    • Method Detail

      • getExecutableString

        public static java.lang.String getExecutableString​(java.lang.reflect.Method method)
        Returns method in text form. Format is <canonical name of method class> ' ' <method name> '(' arguments ')' Arguments is a comma separated list of argument type names. Argument type name is canonical name of argument class. Arrays however are printed with leading '['. Example T0.class.getDeclaredMethod("m1", String.class, int.class, long[].class) produces "org.vesalainen.bcc.T0 m1(java.lang.String,int,[long)"
        Parameters:
        method -
        Returns:
      • aName

        private static void aName​(java.lang.StringBuilder sb,
                                  java.lang.Class<?> c)
      • getExecutableElement

        public static javax.lang.model.element.ExecutableElement getExecutableElement​(java.lang.String methodString)
        Returns ExecutableElement from text form. Format is <canonical name of method class> ' ' <method name> '(' arguments ')' Arguments is a comma separated list of argument type names. Argument type name is canonical name of argument class. Arrays however are printed with leading '['. Example T0.class.getDeclaredMethod("m1", String.class, int.class, long[].class) produces "org.vesalainen.bcc.T0 m1(java.lang.String,int,[long)"
        Parameters:
        methodString -
        Returns:
      • getExecutableString

        public static java.lang.String getExecutableString​(javax.lang.model.element.ExecutableElement method)
        Returns method in text form. Format is <canonical name of method class> ' ' <method name> '(' arguments ')' Arguments is a comma separated list of argument type names. Argument type name is canonical name of argument class. Arrays however are printed with leading '['. Example T0.class.getDeclaredMethod("m1", String.class, int.class, long[].class) produces "org.vesalainen.bcc.T0 m1(java.lang.String,int,[long)"
        Parameters:
        method -
        Returns:
      • addTypeName

        private static void addTypeName​(java.lang.StringBuilder sb,
                                        javax.lang.model.type.TypeMirror type)
      • createUpdateableElement

        public static <E extends javax.lang.model.element.Element> E createUpdateableElement​(E element)
      • getField

        public static javax.lang.model.element.VariableElement getField​(java.lang.Class<?> cls,
                                                                        java.lang.String name)
      • getField

        public static javax.lang.model.element.VariableElement getField​(javax.lang.model.element.TypeElement typeElement,
                                                                        java.lang.String name)
      • getMethod

        public static javax.lang.model.element.ExecutableElement getMethod​(java.lang.Class<?> cls,
                                                                           java.lang.String name,
                                                                           java.lang.Class<?>... parameters)
      • getConstructor

        public static javax.lang.model.element.ExecutableElement getConstructor​(java.lang.Class<?> cls,
                                                                                java.lang.Class<?>... parameters)
      • getParams

        public static javax.lang.model.type.TypeMirror[] getParams​(java.lang.Class<?>... parameters)
      • getMethod

        public static javax.lang.model.element.ExecutableElement getMethod​(javax.lang.model.element.TypeElement typeElement,
                                                                           java.lang.String name,
                                                                           javax.lang.model.type.TypeMirror... parameters)
        Returns the most specific named method in typeElement, or null if such method was not found
        Parameters:
        typeElement - Class
        name - Method name
        parameters - Method parameters
        Returns:
      • getAllMethods

        public static java.util.List<javax.lang.model.element.ExecutableElement> getAllMethods​(javax.lang.model.element.TypeElement typeElement,
                                                                                               java.lang.String name,
                                                                                               javax.lang.model.type.TypeMirror... parameters)
      • getConstructor

        public static javax.lang.model.element.ExecutableElement getConstructor​(javax.lang.model.element.TypeElement typeElement,
                                                                                javax.lang.model.type.TypeMirror... parameters)
      • fromDescriptor

        public static javax.lang.model.element.TypeElement fromDescriptor​(java.lang.String fieldDescriptor)
      • setElements

        public static void setElements​(javax.lang.model.util.Elements elements)
      • getPackageElement

        public static javax.lang.model.element.PackageElement getPackageElement​(java.lang.CharSequence name)
      • getTypeElement

        public static javax.lang.model.element.TypeElement getTypeElement​(java.lang.CharSequence name)
      • getElementValuesWithDefaults

        public static java.util.Map<? extends javax.lang.model.element.ExecutableElement,​? extends javax.lang.model.element.AnnotationValue> getElementValuesWithDefaults​(javax.lang.model.element.AnnotationMirror a)
      • getDocComment

        public static java.lang.String getDocComment​(javax.lang.model.element.Element e)
      • isDeprecated

        public static boolean isDeprecated​(javax.lang.model.element.Element e)
      • getBinaryName

        public static javax.lang.model.element.Name getBinaryName​(javax.lang.model.element.TypeElement type)
      • getPackageOf

        public static javax.lang.model.element.PackageElement getPackageOf​(javax.lang.model.element.Element type)
      • getAllMembers

        public static java.util.List<? extends javax.lang.model.element.Element> getAllMembers​(javax.lang.model.element.TypeElement type)
      • getAllAnnotationMirrors

        public static java.util.List<? extends javax.lang.model.element.AnnotationMirror> getAllAnnotationMirrors​(javax.lang.model.element.Element e)
      • hides

        public static boolean hides​(javax.lang.model.element.Element hider,
                                    javax.lang.model.element.Element hidden)
      • overrides

        public static boolean overrides​(javax.lang.model.element.ExecutableElement overrider,
                                        javax.lang.model.element.ExecutableElement overridden,
                                        javax.lang.model.element.TypeElement type)
      • getConstantExpression

        public static java.lang.String getConstantExpression​(java.lang.Object value)
      • printElements

        public static void printElements​(java.io.Writer w,
                                         javax.lang.model.element.Element... elements)
      • getName

        public static javax.lang.model.element.Name getName​(java.lang.CharSequence cs)
      • getInternalForm

        public static java.lang.String getInternalForm​(javax.lang.model.element.TypeElement type)
      • getEffectiveMethods

        public static java.util.List<? extends javax.lang.model.element.ExecutableElement> getEffectiveMethods​(javax.lang.model.element.TypeElement cls)
        Return effective methods for a class. All methods accessible at class are returned. That includes superclass methods which are not override.
        Parameters:
        cls -
        Returns:
      • overrides

        private static boolean overrides​(java.util.Collection<javax.lang.model.element.ExecutableElement> methods,
                                         javax.lang.model.element.ExecutableElement method)
      • isInterface

        public static boolean isInterface​(javax.lang.model.element.ElementKind kind)