Java BCEL通行证“;这";参数

Java BCEL通行证“;这";参数,java,bcel,Java,Bcel,我有 在MainClass(.class文件)中有aMethod public class SecondClass{ MainClass main; public SecondClass(MainClass main){ this.main=main; } .... } 如何使用Apache BCEL实现这一点?非常感谢 “this”作为堆栈上的第一项传递。因此,您可以使用jvm指令ALOAD和AS

我有

在MainClass(.class文件)中有
aMethod

public class SecondClass{
        MainClass main;
        public SecondClass(MainClass main){
                this.main=main;
        }
        ....
}

如何使用Apache BCEL实现这一点?非常感谢

“this”作为堆栈上的第一项传递。因此,您可以使用jvm指令ALOAD和ASTORE将其存储到局部变量中

例如,下面的代码生成相应的jvm指令

    public class MainClass(){
        public void aMethod(){
                //I want to insert 
                //SecondClass sc = new SecondClass(this);
        }
}
public void test()
{
    Test var1 = this;
    Test var2 = this;
}

   ALOAD 0      
   ASTORE 1     
   ALOAD  0  
   ASTORE 2           
   RETURN