Package ghidra.pcode.exec

# Class DebuggerPcodeUtils.LabelBoundPcodeParser

java.lang.Object
ghidra.pcodeCPort.slgh_compile.PcodeCompile
ghidra.program.model.lang.PcodeParser
ghidra.pcode.exec.SleighProgramCompiler.ErrorCollectingPcodeParser
ghidra.pcode.exec.DebuggerPcodeUtils.LabelBoundPcodeParser

Enclosing class:
  `DebuggerPcodeUtils`

public static class DebuggerPcodeUtils.LabelBoundPcodeParser extends SleighProgramCompiler.ErrorCollectingPcodeParser
A p-code parser that can resolve labels from a trace or its mapped programs.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ghidra.program.model.lang.PcodeParser

  `PcodeParser.PcodeTranslate`

- ## Field Summary

  ### Fields inherited from class ghidra.pcodeCPort.slgh_compile.PcodeCompile

  `log, noplist`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LabelBoundPcodeParser(ServiceProvider provider, DebuggerCoordinates coordinates)`
  Construct a parser bound to the given coordinates

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected ghidra.pcodeCPort.slghsymbol.SleighSymbol`
  `createSleighConstant(String sourceName, String nm, Address address)`
  `ghidra.pcodeCPort.slghsymbol.SleighSymbol`
  `findSymbol(String nm)`
  `protected ghidra.pcodeCPort.slghsymbol.SleighSymbol`
  `findUserSymbol(String nm)`
  `protected ghidra.pcodeCPort.slghsymbol.SleighSymbol`
  `tryExternalLinkage(String nm, Trace trace, long snap, Program program, Symbol symbol, List<ghidra.pcodeCPort.slghsymbol.SleighSymbol> externals)`
  `protected ghidra.pcodeCPort.slghsymbol.SleighSymbol`
  `tryMap(String nm, Trace trace, long snap, Program program, Symbol symbol, Address addr, List<ghidra.pcodeCPort.slghsymbol.SleighSymbol> externals)`

  ### Methods inherited from class ghidra.pcode.exec.SleighProgramCompiler.ErrorCollectingPcodeParser

  `compilePcode, reportError, reportWarning`

  ### Methods inherited from class ghidra.program.model.lang.PcodeParser

  `addOperand, addSymbol, allocateTemp, clearSymbols, createCrossBuild, createMacroUse, enterSection, finalNamedSection, firstNamedSection, getConstantSpace, getDefaultSpace, getNextTempOffset, getSleigh, getUniqueSpace, newSectionSymbol, nextNamedSection, recordNop, standaloneSection, translateConstructTpl, translateConstTpl, translateHandleTpl, translateOpTpl, translateVarnodeTpl`

  ### Methods inherited from class ghidra.pcodeCPort.slgh_compile.PcodeCompile

  `addressOf, appendOp, assignBitRange, buildTemporary, buildTruncatedVarnode, createBitRange, createLoad, createOp, createOp, createOpConst, createOpNoOut, createOpNoOut, createOpOut, createOpOutUnary, createStore, createUserOp, createUserOpNoOut, createVariadic, defineLabel, entry, fillinZero, findInternalFunction, getErrors, getWarnings, isInternalFunction, matchSize, newLocalDefinition, newLocalDefinition, newOutput, newOutput, placeLabel, propagateSize, resetLabelCount, setEnforceLocalKey, setResultStarVarnode, setResultVarnode`

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

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

- ## Constructor Details

  - ### LabelBoundPcodeParser

    public LabelBoundPcodeParser(ServiceProvider provider, DebuggerCoordinates coordinates)
    Construct a parser bound to the given coordinates
    Parameters:
      `provider` - the service provider (usually the tool)
      `coordinates` - the current coordinates for context

- ## Method Details

  - ### createSleighConstant

    protected ghidra.pcodeCPort.slghsymbol.SleighSymbol createSleighConstant(String sourceName, String nm, Address address)

  - ### findSymbol

    public ghidra.pcodeCPort.slghsymbol.SleighSymbol findSymbol(String nm)
    Overrides:
      `findSymbol` in class `PcodeParser`

  - ### tryMap

    protected ghidra.pcodeCPort.slghsymbol.SleighSymbol tryMap(String nm, Trace trace, long snap, Program program, Symbol symbol, Address addr, List<ghidra.pcodeCPort.slghsymbol.SleighSymbol> externals)

  - ### tryExternalLinkage

    protected ghidra.pcodeCPort.slghsymbol.SleighSymbol tryExternalLinkage(String nm, Trace trace, long snap, Program program, Symbol symbol, List<ghidra.pcodeCPort.slghsymbol.SleighSymbol> externals)

  - ### findUserSymbol

    protected ghidra.pcodeCPort.slghsymbol.SleighSymbol findUserSymbol(String nm)