Package ghidra.app.decompiler

# Class ClangVariableToken

java.lang.Object
ghidra.app.decompiler.ClangToken
ghidra.app.decompiler.ClangVariableToken

All Implemented Interfaces:
  `ClangNode`

public class ClangVariableToken extends ClangToken
Token representing a C variable

- ## Field Summary

  ### Fields inherited from class ghidra.app.decompiler.ClangToken

  `COMMENT_COLOR, CONST_COLOR, DEFAULT_COLOR, ERROR_COLOR, FUNCTION_COLOR, GLOBAL_COLOR, KEYWORD_COLOR, MAX_COLOR, PARAMETER_COLOR, SPECIAL_COLOR, TYPE_COLOR, VARIABLE_COLOR`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ClangVariableToken(ClangNode par)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `decode(Decoder decoder, PcodeFactory pfactory)`
  Decode this token from the current position in an encoded stream
  `HighSymbol`
  `getHighSymbol(HighFunction highFunction)`
  Get the symbol associated with this token or null otherwise.
  `HighVariable`
  `getHighVariable()`
  Get the high-level variable associate with this token or null otherwise
  `Address`
  `getMaxAddress()`
  Get the biggest Program address associated with the code that this text represents
  `Address`
  `getMinAddress()`
  Get the smallest Program address associated with the code that this text represents
  `PcodeOp`
  `getPcodeOp()`
  Many tokens directly represent a pcode operator in the data-flow
  `Scalar`
  `getScalar()`
  If the token represents an underlying integer constant, return the constant as a Scalar.
  `Varnode`
  `getVarnode()`
  Many tokens directly represent a variable in the data-flow
  `boolean`
  `isVariableRef()`

  ### Methods inherited from class ghidra.app.decompiler.ClangToken

  `buildSpacer, buildToken, Child, flatten, getClangFunction, getHighlight, getLineParent, getSyntaxType, getText, isMatchingToken, iterator, numChildren, Parent, setHighlight, setLineParent, setMatchingToken, toString`

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

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

- ## Constructor Details

  - ### ClangVariableToken

    public ClangVariableToken(ClangNode par)

- ## Method Details

  - ### getVarnode

    public Varnode getVarnode()
    Description copied from class: `ClangToken`
    Many tokens directly represent a variable in the data-flow
    Overrides:
      `getVarnode` in class `ClangToken`
    Returns:
      the variable (Varnode) associated with this token or null

  - ### getPcodeOp

    public PcodeOp getPcodeOp()
    Description copied from class: `ClangToken`
    Many tokens directly represent a pcode operator in the data-flow
    Overrides:
      `getPcodeOp` in class `ClangToken`
    Returns:
      the operation (PcodeOp) associated with this token or null

  - ### getScalar

    public Scalar getScalar()
    Description copied from class: `ClangToken`
    If the token represents an underlying integer constant, return the constant as a Scalar. Otherwise return null.
    Overrides:
      `getScalar` in class `ClangToken`
    Returns:
      the Scalar that the token represents or null

  - ### isVariableRef

    public boolean isVariableRef()
    Overrides:
      `isVariableRef` in class `ClangToken`
    Returns:
      true if this token represents a variable (in source code)

  - ### getMinAddress

    public Address getMinAddress()
    Description copied from interface: `ClangNode`
    Get the smallest Program address associated with the code that this text represents
    Specified by:
      `getMinAddress` in interface `ClangNode`
    Overrides:
      `getMinAddress` in class `ClangToken`
    Returns:
      the smallest Address

  - ### getMaxAddress

    public Address getMaxAddress()
    Description copied from interface: `ClangNode`
    Get the biggest Program address associated with the code that this text represents
    Specified by:
      `getMaxAddress` in interface `ClangNode`
    Overrides:
      `getMaxAddress` in class `ClangToken`
    Returns:
      the biggest Address

  - ### getHighVariable

    public HighVariable getHighVariable()
    Description copied from class: `ClangToken`
    Get the high-level variable associate with this token or null otherwise
    Overrides:
      `getHighVariable` in class `ClangToken`
    Returns:
      HighVariable

  - ### getHighSymbol

    public HighSymbol getHighSymbol(HighFunction highFunction)
    Description copied from class: `ClangToken`
    Get the symbol associated with this token or null otherwise. This token may be directly associated with the symbol or a reference, in which case the symbol is looked up in the containing HighFunction
    Overrides:
      `getHighSymbol` in class `ClangToken`
    Parameters:
      `highFunction` - is the function
    Returns:
      HighSymbol

  - ### decode

    public void decode(Decoder decoder, PcodeFactory pfactory) throws DecoderException
    Description copied from class: `ClangToken`
    Decode this token from the current position in an encoded stream
    Overrides:
      `decode` in class `ClangToken`
    Parameters:
      `decoder` - is the decoder for the stream
      `pfactory` - is used to look up p-code objects associated with the token
    Throws:
      `DecoderException` - for problems decoding the stream