java.lang.Object
java.lang.Enum<O>
com.pnfsoftware.jeb.core.units.code.android.ir.compiler.O
All Implemented Interfaces:
Serializable, Comparable<O>, Constable

public enum O extends Enum<O>
Operator for IR template.
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    Enum.EnumDesc<E extends Enum<E>>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Addition operator.
    Bitwise AND operator.
    Pseudo-operation representing a IDOperation cond.expr operation.
    Signed division operator.
    Equality comparison operator.
    Signed greater-than-or-equal comparison operator.
    Signed greater-than comparison operator.
    Logical AND operator.
    Signed less-than-or-equal comparison operator.
    Logical NOT operator.
    Logical OR operator.
    Signed less-than comparison operator.
    Multiplication operator.
    wildcard for no-carry add, will match ADD, XOR, OR
    wildcard for no-carry sub, will match SUB, XOR
    Inequality comparison operator.
    Arithmetic negation operator.
    Bitwise complement operator.
    Bitwise OR operator.
    Signed remainder operator.
    Arithmetic right-shift operator.
    Left-shift operator.
    Logical right-shift operator.
    Subtraction operator.
    Bitwise XOR operator.
  • Method Summary

    Modifier and Type
    Method
    Description
    Retrieve the corresponding Java operator type.
    Retrieve the corresponding Java operator type.
    boolean
    Determine whether this operator is associative.
    boolean
    Determine whether this operator is commutative.
    boolean
    Determine whether this operator maps to a regular Java operator.
    static O
    Returns the enum constant of this class with the specified name.
    static O[]
    Returns an array containing the constants of this enum class, in the order they are declared.

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • COND

      public static final O COND
      Pseudo-operation representing a IDOperation cond.expr operation.
    • NCADD

      public static final O NCADD
      wildcard for no-carry add, will match ADD, XOR, OR
    • NCSUB

      public static final O NCSUB
      wildcard for no-carry sub, will match SUB, XOR
    • ADD

      public static final O ADD
      Addition operator.
    • SUB

      public static final O SUB
      Subtraction operator.
    • MUL

      public static final O MUL
      Multiplication operator.
    • DIV_S

      public static final O DIV_S
      Signed division operator.
    • REM_S

      public static final O REM_S
      Signed remainder operator.
    • NEG

      public static final O NEG
      Arithmetic negation operator.
    • NOT

      public static final O NOT
      Bitwise complement operator.
    • AND

      public static final O AND
      Bitwise AND operator.
    • OR

      public static final O OR
      Bitwise OR operator.
    • XOR

      public static final O XOR
      Bitwise XOR operator.
    • LOR

      public static final O LOR
      Logical OR operator.
    • LAND

      public static final O LAND
      Logical AND operator.
    • LNOT

      public static final O LNOT
      Logical NOT operator.
    • EQ

      public static final O EQ
      Equality comparison operator.
    • NE

      public static final O NE
      Inequality comparison operator.
    • GT_S

      public static final O GT_S
      Signed greater-than comparison operator.
    • GE_S

      public static final O GE_S
      Signed greater-than-or-equal comparison operator.
    • LT_S

      public static final O LT_S
      Signed less-than comparison operator.
    • LE_S

      public static final O LE_S
      Signed less-than-or-equal comparison operator.
    • SHL

      public static final O SHL
      Left-shift operator.
    • SHR

      public static final O SHR
      Logical right-shift operator.
    • SAR

      public static final O SAR
      Arithmetic right-shift operator.
  • Method Details

    • values

      public static O[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static O valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isCommutative

      public boolean isCommutative()
      Determine whether this operator is commutative.
      Returns:
      true for commutative operators
    • isAssociative

      public boolean isAssociative()
      Determine whether this operator is associative.
      Returns:
      true for associative operators
    • getOperationType

      public JavaOperatorType getOperationType()
      Retrieve the corresponding Java operator type.
      Returns:
      the Java operator type, or null for template-only operators
    • getJavaOperatorType

      public JavaOperatorType getJavaOperatorType()
      Retrieve the corresponding Java operator type.
      Returns:
      the Java operator type, or null for template-only operators
    • isNormal

      public boolean isNormal()
      Determine whether this operator maps to a regular Java operator.
      Returns:
      true if a Java operator type is available