Interface ResolvedClassDeclaration

All Superinterfaces:
AssociableToAST<Node>, HasAccessSpecifier, ResolvedDeclaration, ResolvedReferenceTypeDeclaration, ResolvedTypeDeclaration, ResolvedTypeParametrizable

Declaration of a Class (not an interface or an enum). Note that it can be associated to a Node AST because anonymous class declarations return an incompatible node type, compared to classic class declarations.
Author:
Federico Tomassetti
  • Method Details

    • isClass

      default boolean isClass()
      This method should always return true.
      Specified by:
      isClass in interface ResolvedTypeDeclaration
    • getSuperClass

      This is a ReferenceTypeUsage because it could contain type typeParametersValues. For example: class A extends B<Integer, String>.

      Note that only the Object class should not have a superclass and therefore return empty.

    • getInterfaces

      List<ResolvedReferenceType> getInterfaces()
      Return all the interfaces implemented directly by this class. It does not include the interfaces implemented by superclasses or extended by the interfaces implemented.
    • getAllSuperClasses

      List<ResolvedReferenceType> getAllSuperClasses()
      Get all superclasses, with all the type typeParametersValues expressed as functions of the type typeParametersValues of this declaration.
    • getAllInterfaces

      List<ResolvedReferenceType> getAllInterfaces()
      Return all the interfaces implemented by this class, either directly or indirectly, including the interfaces extended by interfaces it implements.

      Get all interfaces, with all the type typeParametersValues expressed as functions of the type typeParametersValues of this declaration.

    • getConstructors

      List of constructors available for the class. This list should also include the default constructor.
      Specified by:
      getConstructors in interface ResolvedReferenceTypeDeclaration