Package ghidra.app.util.bin.format.pef

# Class ImportStateCache

java.lang.Object
ghidra.app.util.bin.format.pef.ImportStateCache

public class ImportStateCache extends Object

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ImportStateCache(Program program, ContainerHeader header)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `createLibrarySymbol(ImportedLibrary library, String symbolName, Address address)`
  `void`
  `dispose()`
  `MemoryBlock`
  `getMemoryBlockForSection(SectionHeader section)`
  Returns the memory block for the given section.
  `Namespace`
  `getNamespace(ImportedLibrary library)`
  Returns a namespace for the given imported library.
  `Symbol`
  `getSymbol(String symbolName, ImportedLibrary library)`
  Returns the symbol object with the given name in the specified library.
  `Address`
  `getTocAddress()`
  `Namespace`
  `getTVectNamespace()`
  `void`
  `setMemoryBlockForSection(SectionHeader section, MemoryBlock block)`
  `void`
  `setTocAddress(Address tocAddress)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ImportStateCache

    public ImportStateCache(Program program, ContainerHeader header)

- ## Method Details

  - ### dispose

    public void dispose()

  - ### getTVectNamespace

    public Namespace getTVectNamespace()

  - ### getNamespace

    public Namespace getNamespace(ImportedLibrary library)
    Returns a namespace for the given imported library.
    Parameters:
      `library` - the imported library
    Returns:
      a namespace for the given imported library

  - ### getMemoryBlockForSection

    public MemoryBlock getMemoryBlockForSection(SectionHeader section)
    Returns the memory block for the given section. Generally sections do not specify a preferred address and are not named. This map provides a way to lookup the block that was created for the given section.
    Parameters:
      `section` - the PEF section header
    Returns:
      the memory block for the given section

  - ### setMemoryBlockForSection

    public void setMemoryBlockForSection(SectionHeader section, MemoryBlock block)

  - ### getSymbol

    public Symbol getSymbol(String symbolName, ImportedLibrary library)
    Returns the symbol object with the given name in the specified library.
    Parameters:
      `symbolName` - the desired symbol's name
      `library` - the desired library
    Returns:
      the symbol object with the given name in the specified library

  - ### createLibrarySymbol

    public boolean createLibrarySymbol(ImportedLibrary library, String symbolName, Address address)

  - ### getTocAddress

    public Address getTocAddress()

  - ### setTocAddress

    public void setTocAddress(Address tocAddress)