Enum ASTAnyTypeDeclaration.TypeKind

  • All Implemented Interfaces:
    Serializable, Comparable<ASTAnyTypeDeclaration.TypeKind>
    Enclosing interface:

    public static enum ASTAnyTypeDeclaration.TypeKind
    extends Enum<ASTAnyTypeDeclaration.TypeKind>
    This is not useful, not adapted to the problem, and does not scale to changes in the Java language. The only use of this is to get a name, this can be replaced with PrettyPrintingUtil.

    Besides, the real problem is that

    • enums are also classes
    • annotations are also interfaces
    • there are also anonymous classes in PMD 7.0, so this cannot even be used to downcast safely
    We can also expect new kinds of type declarations (eg records) in the future, which will force us to add new constants and aggravates the problem. Ultimately, dividing "kinds" with an enum is not adapted. Same problem with ASTAnyTypeBodyDeclaration.DeclarationKind
    The kind of type this node declares.
    • Method Detail

      • values

        public static ASTAnyTypeDeclaration.TypeKind[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (ASTAnyTypeDeclaration.TypeKind c : ASTAnyTypeDeclaration.TypeKind.values())
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static ASTAnyTypeDeclaration.TypeKind valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        name - the name of the enum constant to be returned.
        the enum constant with the specified name
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getPrintableName

        public String getPrintableName()