接口 StackSaver


public interface StackSaver
在 return/throw/invoke 等location时,需要把栈上的值保存到locals里
作者:
hengyunabc
  • 方法概要

    修饰符和类型
    方法
    说明
    com.alibaba.deps.org.objectweb.asm.Type
    getType(BindingContext bindingContext)
     
    void
    load(com.alibaba.deps.org.objectweb.asm.tree.InsnList instructions, BindingContext bindingContext)
     
    void
    store(com.alibaba.deps.org.objectweb.asm.tree.InsnList instructions, BindingContext bindingContext)
    有可能在两个地方被调用。
  • 方法详细资料

    • store

      void store(com.alibaba.deps.org.objectweb.asm.tree.InsnList instructions, BindingContext bindingContext)
      有可能在两个地方被调用。1: 在最开始保存栈上的值时, 2: callback函数有返回值,想更新这个值时。stackSaver自己内部要保证保存的locals index是一致的
      参数:
      instructions -
      bindingContext -
    • load

      void load(com.alibaba.deps.org.objectweb.asm.tree.InsnList instructions, BindingContext bindingContext)
    • getType

      com.alibaba.deps.org.objectweb.asm.Type getType(BindingContext bindingContext)