Class ProgramAddressFactory

    • Constructor Detail

      • ProgramAddressFactory

        public ProgramAddressFactory​(Language language,
                                     CompilerSpec compilerSpec)
    • Method Detail

      • addOverlayAddressSpace

        protected OverlayAddressSpace addOverlayAddressSpace​(java.lang.String name,
                                                             boolean preserveName,
                                                             AddressSpace originalSpace,
                                                             long minOffset,
                                                             long maxOffset)
        Create a new OverlayAddressSpace based upon the given overlay blockName and base AddressSpace
        Parameters:
        name - the preferred name of the overlay address space to be created. This name may be modified if preserveName is false to produce a valid overlay space name and avoid duplication.
        preserveName - if true specified name will be preserved, if false an unique acceptable overlay space name will be generated from the specified name.
        originalSpace - the base AddressSpace to overlay
        minOffset - the min offset of the space
        maxOffset - the max offset of the space
        Returns:
        the new overlay space
        Throws:
        java.lang.IllegalArgumentException - if originalSpace is not permitted or preserveName is true and a space with specified name already exists.
      • getAddress

        public Address getAddress​(int spaceID,
                                  long offset)
        Description copied from interface: AddressFactory
        Get an address using the addressSpace with the given id and having the given offset.
        Specified by:
        getAddress in interface AddressFactory
        Overrides:
        getAddress in class DefaultAddressFactory
        Parameters:
        spaceID - the id of the address space to use to create the new address.
        offset - the offset of the new address to be created.
        Returns:
        the new address.
      • removeOverlaySpace

        protected void removeOverlaySpace​(java.lang.String name)
      • renameOverlaySpace

        protected java.lang.String renameOverlaySpace​(java.lang.String oldOverlaySpaceName,
                                                      java.lang.String newName)
        Rename overlay with preferred newName. Actual name used will be returned and may differ from specified newName to ensure validity and avoid duplication.
        Overrides:
        renameOverlaySpace in class DefaultAddressFactory
        Parameters:
        oldOverlaySpaceName - the existing overlay address space name
        newName - the preferred new name of the overlay address space. This name may be modified to produce a valid overlay space name to avoid duplication.
        Returns:
        new name applied to existing overlay space