Package ghidra.app.util.opinion

# Class DecompileDebugFunctionManager

java.lang.Object
ghidra.app.util.opinion.DecompileDebugFunctionManager

public class DecompileDebugFunctionManager extends Object
Manage the parsing and population of function objects. All functions are loaded the same way, even if it's only referenced by the "central function" (the function that was in the decompiler pane when the Decompile Debug (@DecompileDebug.java) feature was used).

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DecompileDebugFunctionManager(Program prog, TaskMonitor monitor, DecompileDebugDataTypeManager dataTypeManager)`
  Each function requires a program, task monitor and the program's Data Type Manager in order to be generated.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `parseFunctionSignature(XmlPullParser parser, Map<Long,Namespace> scopeMap, XmlMessageLog log)`
  Setup functions from within the `<symbollist>` tag.

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

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

- ## Constructor Details

  - ### DecompileDebugFunctionManager

    public DecompileDebugFunctionManager(Program prog, TaskMonitor monitor, DecompileDebugDataTypeManager dataTypeManager)
    Each function requires a program, task monitor and the program's Data Type Manager in order to be generated.
    Parameters:
      `prog` - Program
      `monitor` - TaskMonitor
      `dataTypeManager` - Program's DataTypeManager

- ## Method Details

  - ### parseFunctionSignature

    public void parseFunctionSignature(XmlPullParser parser, Map<Long,Namespace> scopeMap, XmlMessageLog log)
    Setup functions from within the `<symbollist>` tag. Functions referenced by the central function are loaded the same except we do not (currently) have the memory/program context for them. Thus, they will show up in the Listing with a red "X". NOTE: This is the expected functionality.
    Parameters:
      `parser` - XmlPullParser
      `scopeMap` - `Map<String, Namespace>` used for getting parent namespace
      `log` - XmlMessageLog