Class Typing

java.lang.Object
sootup.interceptors.typeresolving.Typing

public class Typing extends Object
  • Constructor Details

    • Typing

      public Typing(@NonNull Collection<Local> locals)
    • Typing

      public Typing(@NonNull Typing typing, @NonNull BitSet stmtsIDList)
  • Method Details

    • getType

      public @Nullable Type getType(@NonNull Local local)
    • set

      public void set(@NonNull Local local, @NonNull Type type)
    • getLocals

      public Collection<Local> getLocals()
    • getMap

      public Map<Local,Type> getMap()
    • setStmtsIDList

      public void setStmtsIDList(@NonNull BitSet bitSet)
    • getStmtsIDList

      public @NonNull BitSet getStmtsIDList()
    • compare

      public int compare(@NonNull Typing typing, @NonNull BytecodeHierarchy hierarchy, @NonNull Collection<Local> localsToIgnore)
      This method is used to compare two Typings that have same locals' set, but with different types.
      Returns:
      0: same to the given typing. 1: more general to the given typing . -1: more specific to the given typing. -2: cannot be compared to the given typing. One local have two different types which have no ancestor relationship. 2: cannot be compared to the given typing. One local's type is more specific than the given typing, but another local's type is more general than the given typing.