类 Subroutine

java.lang.Object
cn.taketoday.bytecode.tree.analysis.Subroutine

final class Subroutine extends Object
A method subroutine (corresponds to a JSR instruction).
作者:
Eric Bruneton
  • 字段详细资料

    • start

      public final LabelNode start
      The start of this subroutine.
    • localsUsed

      public final boolean[] localsUsed
      The local variables that are read or written by this subroutine. The i-th element is true if and only if the local variable at index i is read or written by this subroutine.
    • callers

      public final List<JumpInsnNode> callers
      The JSR instructions that jump to this subroutine.
  • 构造器详细资料

    • Subroutine

      Subroutine(LabelNode start, int maxLocals, JumpInsnNode caller)
      Constructs a new Subroutine.
      参数:
      start - the start of this subroutine.
      maxLocals - the local variables that are read or written by this subroutine.
      caller - a JSR instruction that jump to this subroutine.
    • Subroutine

      Subroutine(Subroutine subroutine)
      Constructs a copy of the given Subroutine.
      参数:
      subroutine - the subroutine to copy.
  • 方法详细资料

    • merge

      public boolean merge(Subroutine subroutine)
      Merges the given subroutine into this subroutine. The local variables read or written by the given subroutine are marked as read or written by this one, and the callers of the given subroutine are added as callers of this one (if both have the same start).
      参数:
      subroutine - another subroutine. This subroutine is left unchanged by this method.
      返回:
      whether this subroutine has been modified by this method.