Interface IJavaLabelFactory


@Ser public interface IJavaLabelFactory
A manager of IJavaLabel. Each IJavaMethod has its own label factory.
  • Method Details

    • create

      IJavaLabel create(int offset, String name)
      Create a named label.
      Parameters:
      offset - a client-defined offset, that may or may not represent a valid location within the instruction sequence used to build this AST. In practice, this offset should be an IR instruction one.
      name - mandatory label name, should be unique, or the method will throw an exception.
      Returns:
      the newly created label
    • create

      IJavaLabel create(int offset)
      Create an unnamed label at an offset.
      Parameters:
      offset - client-defined offset
      Returns:
      the newly created label
    • create

      IJavaLabel create()
      Create an unnamed label with no offset.
      Returns:
      the newly created label
    • getLabels

      List<IJavaLabel> getLabels()
      Get the list of labels defined by the factory.
      Returns:
      defined labels
    • recordTrampoline

      void recordTrampoline(int trampoAddr, int targetAddr)
      Record a trampoline relationship between two addresses.
      Parameters:
      trampoAddr - trampoline address
      targetAddr - target address
    • checkEquivalence

      boolean checkEquivalence(IJavaLabel label1, IJavaLabel label2)
      Determine whether two labels refer to equivalent locations.
      Parameters:
      label1 - first label
      label2 - second label
      Returns:
      true if the labels are equivalent