Interface INativeClassItem

All Superinterfaces:
ICodeClass, ICodeItem, INativeItem, INativeItemListenable

@Ser public interface INativeClassItem extends INativeItem, ICodeClass
Definition of a native class item, having a class type, methods, fields, and so on.
  • Method Details

    • getClassType

      IClassType getClassType()
      Description copied from interface: ICodeClass
      Get the optional type implemented by this class item.
      Specified by:
      getClassType in interface ICodeClass
      Returns:
    • getSupertypes

      List<? extends IClassType> getSupertypes()
      Description copied from interface: ICodeClass
      Get the list of super types for this class.
      Specified by:
      getSupertypes in interface ICodeClass
      Returns:
    • getImplementedInterfaces

      List<? extends IClassType> getImplementedInterfaces()
      Description copied from interface: ICodeClass
      Get the list of implemented interface types for this class.
      Specified by:
      getImplementedInterfaces in interface ICodeClass
      Returns:
    • getMethods

      List<? extends INativeMethodItem> getMethods()
      Description copied from interface: ICodeClass
      Get the list of methods that are defined in this class (super methods are not returned).
      Specified by:
      getMethods in interface ICodeClass
      Returns:
      a list of methods, possibly empty if this class has no implementation
    • getFields

      List<? extends INativeFieldItem> getFields()
      Description copied from interface: ICodeClass
      Get the list of fields that are defined in this class (super fields are not returned).
      Specified by:
      getFields in interface ICodeClass
      Returns:
      a list of fields, possibly empty if this class has no implementation
    • getSubtypes

      List<? extends INativeType> getSubtypes()
    • getVirtualTables

      List<? extends IMethodTable> getVirtualTables()
    • getVirtualMethods

      List<? extends INativeMethodItem> getVirtualMethods(boolean onlyDefinedInThisClass)
      Get the virtual methods of this class, including or not the virtual methods defined in parent classes that were not overridden (and therefore, indirectly belonging to this class as well).
      Parameters:
      onlyDefinedInThisClass -
      Returns:
    • getNonVirtualMethods

      List<? extends INativeMethodItem> getNonVirtualMethods()
      Get the non-virtual, non-static methods of this class.
      Returns:
    • getStaticMethods

      List<? extends INativeMethodItem> getStaticMethods()
      Get the static methods of this class.
      Returns:
    • getInstanceMethods

      List<? extends INativeMethodItem> getInstanceMethods()
      Get the instance methods defined in this class. (Virtual methods defined in parent classes are not included.) Not all instance methods may be virtual.
      Returns:
    • getConstructors

      List<? extends INativeMethodItem> getConstructors()
    • getDestructors

      List<? extends INativeMethodItem> getDestructors()
    • getInstanceFields

      List<? extends INativeFieldItem> getInstanceFields()
    • getStaticFields

      List<? extends INativeFieldItem> getStaticFields()
    • getVirtualMethodFromCoordinates

      INativeMethodItem getVirtualMethodFromCoordinates(int tableIndex, int methodIndex)
    • getCoordinatesOfVirtualMethod

      Couple<Integer,Integer> getCoordinatesOfVirtualMethod(INativeMethodItem method)
    • renameVirtualMethod

      boolean renameVirtualMethod(INativeMethodItem method, String name)
    • collectVirtualMethodOverrides

      boolean collectVirtualMethodOverrides(INativeMethodItem method, Collection<INativeMethodItem> overUp, Collection<INativeMethodItem> overDown)