Package ghidra.app.util.bin.format.dwarf
Class DWARFRegisterMappingsManager
java.lang.Object
ghidra.app.util.bin.format.dwarf.DWARFRegisterMappingsManager
Factory class to instantiate and cache
DWARFRegisterMappings objects.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DWARFRegisterMappingsgetMappingForLang(Language lang) Returns a possibly cachedDWARFRegisterMappingsobject for the specified language,static booleanReturns true if the specifiedLanguagehas DWARF register mappings.static DWARFRegisterMappingsreadMappingForLang(Language lang) Finds the DWARF register mapping information file specified in the specified language's LDEF file and returns a newDWARFRegisterMappingsobject containing the data read from that file.static DWARFRegisterMappingsreadMappingFrom(org.jdom.Element rootElem, Language lang) Creates a newDWARFRegisterMappingsfrom the data present in the xml element.
-
Constructor Details
-
DWARFRegisterMappingsManager
public DWARFRegisterMappingsManager()
-
-
Method Details
-
hasDWARFRegisterMapping
Returns true if the specifiedLanguagehas DWARF register mappings.- Parameters:
lang- TheLanguageto test- Returns:
- true if the language has a DWARF register mapping specified
- Throws:
IOException- if there was an error in the language LDEF file.
-
getMappingForLang
Returns a possibly cachedDWARFRegisterMappingsobject for the specified language,- Parameters:
lang-Languageto get the matching DWARF register mappings for- Returns:
DWARFRegisterMappingsinstance, never null- Throws:
IOException- if mapping not found or invalid
-
readMappingForLang
Finds the DWARF register mapping information file specified in the specified language's LDEF file and returns a newDWARFRegisterMappingsobject containing the data read from that file.Throws
IOExceptionif the lang does not have a mapping or it is invalid.- Parameters:
lang-Languageto read the matching DWARF register mappings for- Returns:
- a new
DWARFRegisterMappingsinstance, created from information read from theDWARF_REGISTER_MAPPING_NAMExml file referenced in the language's LDEF, never null. - Throws:
IOException- if there is no DWARF register mapping file associated with the specifiedLanguageor if there was an error in the register mapping data.
-
readMappingFrom
public static DWARFRegisterMappings readMappingFrom(org.jdom.Element rootElem, Language lang) throws IOException Creates a newDWARFRegisterMappingsfrom the data present in the xml element.- Parameters:
rootElem- JDom XML element containing the <dwarf> root element of the mapping file.lang- The GhidraLanguagethat the DWARF register mapping applies to- Returns:
- a new
DWARFRegisterMappingsinstance, never null. - Throws:
IOException- if missing or invalid data found in xml
-