Interface ClassTypeInfo

All Superinterfaces:
TypeInfo
All Known Subinterfaces:
VsClassTypeInfo
All Known Implementing Classes:
AbstractClassTypeInfoDB, AbstractClassTypeInfoModel, ArchivedClassTypeInfo, ClassTypeInfoDB, ClassTypeInfoModel, ExternalClassTypeInfo, GnuClassTypeInfoDB, IosFailTypeInfoModel, RttiModelWrapper, SiClassTypeInfoModel, VmiClassTypeInfoModel, VsClassTypeInfoDB

public interface ClassTypeInfo
extends TypeInfo
Interface for modeling std::type_info and its derivatives.
All derived models are based on dwarf information from libstdc++.a
  • Method Details

    • getRepresentedDataType

      default DataType getRepresentedDataType()
      Description copied from interface: TypeInfo
      Gets the DataType represented by this TypeInfo
      Specified by:
      getRepresentedDataType in interface TypeInfo
      Returns:
      the represented DataType
    • getGhidraClass

      GhidraClass getGhidraClass()
      Gets the corresponding Ghidra Class for this TypeInfo and creates it if none exists.
      Returns:
      The class representation of this TypeInfo instance
    • hasParent

      boolean hasParent()
      Checks if this ClassTypeInfo is a subclass of another type
      Returns:
      true if this is a subclass
    • getParentModels

      ClassTypeInfo[] getParentModels()
      Retrieves the Models of this ClassTypeInfo classes base classes
      Returns:
      the parent models
    • getVirtualParents

      Set<ClassTypeInfo> getVirtualParents()
      Retrieves an ordered set of all virtually inherited base classes
      Returns:
      the set of virtual bases
    • isAbstract

      boolean isAbstract()
      Determines if the represented class is an abstract base
      Returns:
      true if abstract
    • findVtable

      Vtable findVtable​(TaskMonitor monitor) throws CancelledException
      Locates the TypeInfo's Vtable Model
      Parameters:
      monitor - the task monitor to be used while searching for the vtable
      Returns:
      The TypeInfo's Vtable Model or Vtable.NO_VTABLE if none exists
      Throws:
      CancelledException - if the search is cancelled
    • findVtable

      default Vtable findVtable()
      Locates the TypeInfo's Vtable Model using the DUMMY TaskMonitor
      Returns:
      The TypeInfo's Vtable Model or Vtable.NO_VTABLE if none exists or the search is cancelled
      See Also:
      TaskMonitor.DUMMY
    • getVtable

      Vtable getVtable()
      Gets the TypeInfo's Vtable Model
      Returns:
      The TypeInfo's Vtable Model or Vtable.NO_VTABLE if none exists
    • getClassDataType

      Structure getClassDataType()
      Gets the underlying structure of the class for this ClassTypeInfo
      Returns:
      the structure datatype for this class
    • getUniqueTypeName

      @Deprecated(since="1.5", forRemoval=true) default String getUniqueTypeName()
      Deprecated, for removal: This API element is subject to removal in a future version.
      this no longer serves a purpose
      Gets a unique typename for this ClassTypeInfo instance The resulting string should be identical across all architectures and binaries for a compiler.
      Returns:
      a unique typename string
    • isExternal

      default boolean isExternal()
    • getSymbolPath

      default SymbolPath getSymbolPath()
    • getFullName

      default String getFullName()