类 SourceValue

java.lang.Object
cn.taketoday.bytecode.tree.analysis.SourceValue
所有已实现的接口:
Value

public class SourceValue extends Object implements Value
A Value which keeps track of the bytecode instructions that can produce it.
作者:
Eric Bruneton
  • 字段详细资料

    • size

      public final int size
      The size of this value, in 32 bits words. This size is 1 for byte, boolean, char, short, int, float, object and array types, and 2 for long and double.
    • insns

      public final Set<AbstractInsnNode> insns
      The instructions that can produce this value. For example, for the Java code below, the instructions that can produce the value of i at line 5 are the two ISTORE instructions at line 1 and 3:
       1: i = 0;
       2: if (...) {
       3:   i = 1;
       4: }
       5: return i;
       
  • 构造器详细资料

    • SourceValue

      public SourceValue(int size)
      Constructs a new SourceValue.
      参数:
      size - the size of this value, in 32 bits words. This size is 1 for byte, boolean, char, short, int, float, object and array types, and 2 for long and double.
    • SourceValue

      public SourceValue(int size, AbstractInsnNode insnNode)
      Constructs a new SourceValue.
      参数:
      size - the size of this value, in 32 bits words. This size is 1 for byte, boolean, char, short, int, float, object and array types, and 2 for long and double.
      insnNode - an instruction that can produce this value.
    • SourceValue

      public SourceValue(int size, Set<AbstractInsnNode> insnSet)
      Constructs a new SourceValue.
      参数:
      size - the size of this value, in 32 bits words. This size is 1 for byte, boolean, char, short, int, float, object and array types, and 2 for long and double.
      insnSet - the instructions that can produce this value.
  • 方法详细资料

    • getSize

      public int getSize()
      Returns the size of this value.
      指定者:
      getSize 在接口中 Value
      返回:
      the size of this value, in 32 bits words. This size is 1 for byte, boolean, char, short, int, float, object and array types, and 2 for long and double.
    • equals

      public boolean equals(Object value)
      覆盖:
      equals 在类中 Object
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object