java.lang.Object
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Util

public class Util extends Object
Utility routines to build IR templates.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
     
    static Leaf
    L(int id)
    Create a leaf node matching everything (terminals and non-terminals alike, of any bitsize)
    static Leaf
    L(int id, int bitsize)
    Create a leaf node matching terminals and non-terminals of the provided bitsize
    static Leaf
    L(int id, int bitsize, int flags, INodeHandler customHandler)
    Create a leaf node
    static Leaf
    LC(long value)
    Create a leaf node matching a given immediate, regardless of its bitsize
    static Leaf
    LC(long value, int bitsize)
    Create a leaf node matching a given immediate with an explicit bitsize
    static Leaf
    LC(long value, int bitsize, int id)
    Create a leaf node matching a given immediate with an explicit bitsize
    static Leaf
    LI(int id)
    Create a leaf node matching immediates only
    static Leaf
    LIV(int id)
    Create a leaf node matching immediates and variables only
    static Leaf
    LT(int id)
    Create a leaf node matching all terminals, but terminals only
    static Leaf
    LV(int id)
    Create a leaf node matching variables only
    static Node
    N(OGroup opgrp, INode... operands)
     
    static Node
    N(O operator, INode... operands)
     
    SD(INode pattern, INode replacement)
     
    static void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Util

      public Util()
  • Method Details

    • N

      public static Node N(O operator, INode... operands)
    • N

      public static Node N(OGroup opgrp, INode... operands)
    • L

      public static Leaf L(int id, int bitsize, int flags, INodeHandler customHandler)
      Create a leaf node
    • L

      public static Leaf L(int id)
      Create a leaf node matching everything (terminals and non-terminals alike, of any bitsize)
    • L

      public static Leaf L(int id, int bitsize)
      Create a leaf node matching terminals and non-terminals of the provided bitsize
    • LT

      public static Leaf LT(int id)
      Create a leaf node matching all terminals, but terminals only
    • LI

      public static Leaf LI(int id)
      Create a leaf node matching immediates only
    • LV

      public static Leaf LV(int id)
      Create a leaf node matching variables only
    • LIV

      public static Leaf LIV(int id)
      Create a leaf node matching immediates and variables only
    • LC

      public static Leaf LC(long value, int bitsize, int id)
      Create a leaf node matching a given immediate with an explicit bitsize
    • LC

      public static Leaf LC(long value, int bitsize)
      Create a leaf node matching a given immediate with an explicit bitsize
    • LC

      public static Leaf LC(long value)
      Create a leaf node matching a given immediate, regardless of its bitsize
    • SD

      public static SubstitutionDefinition SD(INode pattern, INode replacement)
    • setMaxDepths

      public static void setMaxDepths(INode root)
    • calcMaxDepths

      public static int calcMaxDepths(Node root)