Interface INativeItem

All Superinterfaces:
ICodeItem, INativeItemListenable
All Known Subinterfaces:
IAliasType, IArrayType, IClassType, IEnumerationType, INativeClassDataItem, INativeClassItem, INativeContinuousItem, INativeDataItem, INativeFieldItem, INativeInstructionItem, INativeMemoryItem, INativeMethodDataItem, INativeMethodItem, INativeStringItem, INativeType, IPrimitiveType, IPrototypeItem, IReferenceType, IStructureType, IWildcardPrototype, IWildcardType

@Ser public interface INativeItem extends INativeItemListenable, ICodeItem
Master interface for all native code items (objects, types, etc.).
  • Method Details

    • setFlags

      void setFlags(int newFlags)
      Set the flags.
      Parameters:
      newFlags -
    • addFlags

      void addFlags(int additions)
      Add bits to the existing flags.
      Parameters:
      additions -
    • removeFlags

      void removeFlags(int subtractions)
      Remove bits from the existing flags.
      Parameters:
      subtractions -
    • hasFlag

      boolean hasFlag(int flag)
      Indicate if INativeItem has a particular flag.
      Equivalent to (ICodeItem.getGenericFlags() & flag) != 0.
      Parameters:
      flag -
    • setName

      void setName(String name)
      Set the effective name of the native item. All native items can have a name.
      Parameters:
      name - the new name; use null to reset the item name to its original name
    • isRenamed

      boolean isRenamed()
      Convenience method used to determine whether this item has an effective name different than its original name.
      Returns:
      true if the item was renamed
    • setAttribute

      boolean setAttribute(String name, Object data)
      Set an attribute.
      Parameters:
      name - cannot be null
      data - if null, the attribute is not set or removed if it were present
      Returns:
    • removeAttribute

      boolean removeAttribute(String name)
      Remove an attribute.
      Parameters:
      name -
      Returns:
    • hasAttribute

      boolean hasAttribute(String name)
      Determine whether this item has an attribute.
      Parameters:
      name -
      Returns:
    • hasTrueAttribute

      boolean hasTrueAttribute(String name)
      Convenience method to determine whether the item has an attribute and the attribute value is true.
      Parameters:
      name -
      Returns:
    • getAttribute

      <T> T getAttribute(String name, Class<T> clazz)
      Retrieve an attribute by name.
      Parameters:
      name -
      clazz -
      Returns:
    • getAttributes

      Map<String,Object> getAttributes()
      Retrieve a map of the item's attributes.
      Returns:
    • setAutoGenerated

      void setAutoGenerated(boolean autoGenerated)
      Set a flag specifying whether this item was auto-generated by the native analyzer. This flag cna be used by other components and plugins. Typically, auto-generated items may be modified more liberally than non auto-generated items, which are likely to be created by users.s
      Parameters:
      autoGenerated -
    • isAutoGenerated

      boolean isAutoGenerated()
      Determine whether this item is marked as auto-generated.
      Returns:
    • dispose

      void dispose(boolean notify)
      Release resources used by INativeDataItem
      Parameters:
      notify - when true, this method issues a NativeItemEventType.DISPOSED event after the object was disposed.
    • isDisposed

      boolean isDisposed()
      Indicate if item was disposed.
      Returns:
      true if item is disposed, false if item is safely usable.