java.lang.Object
com.pnfsoftware.jeb.core.units.code.android.ir.compiler.DEquationMatcher

public class DEquationMatcher extends Object
A matcher can be used to check if two IR expressions match two provided templates.
  • Constructor Details

    • DEquationMatcher

      public DEquationMatcher(IDMethodContext ctx, INode t0, INode t1)
      Create an equation matcher.
      Parameters:
      ctx - method context
      t0 - first template
      t1 - second template
  • Method Details

    • getMatchMap

      public Map<Integer,Object> getMatchMap()
      Upon a successful match, retrieve the map of matches.
      Returns:
      template node id to matching IR object
    • isMatch

      public boolean isMatch(IDExpression e0, IDExpression e1)
      Determine whether the provided IR expressions match the templates
      Parameters:
      e0 - first IR
      e1 - second IR
      Returns:
      true if e0 matches t0 and e1 matches t1, or if e0 matches t1 and e1 matches t0