Package ghidra.app.plugin.assembler.sleigh.sem

# Class AssemblyContextGraph.Edge

java.lang.Object
ghidra.app.plugin.assembler.sleigh.sem.AssemblyContextGraph.Edge

All Implemented Interfaces:
  `GEdge<AssemblyContextGraph.Vertex>`, `Comparable<AssemblyContextGraph.Edge>`

Enclosing class:
  `AssemblyContextGraph`

protected static class AssemblyContextGraph.Edge extends Object implements GEdge<AssemblyContextGraph.Vertex>, Comparable<AssemblyContextGraph.Edge>
A transition in a context transition graph

A transition consists of the constructor whose context changes were applied. The operand index is included for reference and debugging. If we ever need to process rules with multiple sub-constructors, the operand index explains the sub-table name of the destination vertex.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final AssemblyContextGraph.Vertex`
  `end`
  `protected final int`
  `op`
  `protected final AssemblyConstructorSemantic`
  `sem`
  `protected final AssemblyContextGraph.Vertex`
  `start`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Edge(AssemblyConstructorSemantic sem, int op, AssemblyContextGraph.Vertex start, AssemblyContextGraph.Vertex end)`
  Construct a new transition associated with the given constructor and operand index

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `compareTo(AssemblyContextGraph.Edge that)`
  `boolean`
  `equals(Object o)`
  `AssemblyContextGraph.Vertex`
  `getEnd()`
  Get the end, or head, of the edge
  `AssemblyContextGraph.Vertex`
  `getStart()`
  Get the start, or tail, of the edge
  `int`
  `hashCode()`
  `String`
  `toString()`

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

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

- ## Field Details

  - ### sem

    protected final AssemblyConstructorSemantic sem

  - ### op

    protected final int op

  - ### start

    protected final AssemblyContextGraph.Vertex start

  - ### end

    protected final AssemblyContextGraph.Vertex end

- ## Constructor Details

  - ### Edge

    public Edge(AssemblyConstructorSemantic sem, int op, AssemblyContextGraph.Vertex start, AssemblyContextGraph.Vertex end)
    Construct a new transition associated with the given constructor and operand index
    Parameters:
      `sem` - the constructor semantic
      `op` - the operand index

- ## Method Details

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`

  - ### compareTo

    public int compareTo(AssemblyContextGraph.Edge that)
    Specified by:
      `compareTo` in interface `Comparable<AssemblyContextGraph.Edge>`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### getStart

    public AssemblyContextGraph.Vertex getStart()
    Description copied from interface: `GEdge`
    Get the start, or tail, of the edge

    In the edge x -> y, x is the start

    Specified by:
      `getStart` in interface `GEdge<AssemblyContextGraph.Vertex>`
    Returns:
      the start

  - ### getEnd

    public AssemblyContextGraph.Vertex getEnd()
    Description copied from interface: `GEdge`
    Get the end, or head, of the edge

    In the edge x -> y, y is the end

    Specified by:
      `getEnd` in interface `GEdge<AssemblyContextGraph.Vertex>`
    Returns:
      the end