Re: Re: [SPAM] New to BCEL - Please help
Simon Kitching <[email protected]> Sat, 24 Dec 2005 10:26:42 +1300
| Newsgroups | gmane.comp.jakarta.bcel.user |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 2005-12-23 at 08:52 +0000, chinmoy chakraborty wrote:
>
> Hi Dave,
>
> Thank you very much for your reply. Now I am trying to generate following code dynamically,
>
> .......
> ....
> public int getNum()
> { return num; //num is a private class variable
> }
> ...
> i have written following BCEL code to genarate that,
> ......
> FieldGen fg = new FieldGen(Constants.ACC_PRIVATE, Type.INT, "Num", cp ); //class variable
>
> MethodGen mg1 = new MethodGen(Constants.ACC_PUBLIC,
> Type.INT, Type.NO_ARGS, new String[] {}, "getNum", "Num", i1, cp); //i1-instruction list, cp - //constantpoolgen
>
> i1.append(factory.createLoad(fg.getField().getType(), fg.getField().getNameIndex()));
> i1.append(factory.createReturn(fg.getField().getType()));
> i1.append(InstructionConstants.RETURN);
> ...
>
> It generates following code through BCEL,
>
> public int getNum()
> {
>
> return <no variable>;
> }
>
> why is it so?? why the variable name is missing??
>
>
> Thanks,
> Chinmoy
>
>
>
>
>
>
>
>
>
> On Fri, 23 Dec 2005 Dave Brosius wrote :
> >There is a tool in BCEL called BCELifier, which will show you the code to generate a class, given that class.
> >
> >That is an ideal way to learn how to do what you want.
> >
> >----- Original Message ----- From: "chinmoy chakraborty" <[email protected]>
> >To: <[email protected]>
> >Sent: Wednesday, December 21, 2005 11:15 PM
> >Subject: [SPAM] New to BCEL - Please help
> >
> >
> >
> >Hello,
> >
> >I am new to BCEL nad still struggling to get used to it. Could you please tell me where I can get some tutorial of BCEL. I have gone through the BCEL Manual but I want something more. Could you please tell me what will be the BCEL equivalent code for the following.
> >
> >public class Num
> >{
> > private int num;
> > public int getNum()
> > { return num;}
> > public void setNum(int num)
> > { this.num = num;}
> > private static org.apache.axis.description.TypeDesc typeDesc =
> > new org.apache.axis.description.TypeDesc(Num.class);
> >
> > public static org.apache.axis.encoding.Serializer getSerializer (java.lang.String mechType,java.lang.Class _javaType, javax.xml.namespace.QName _xmlType)
> > {return new org.apache.axis.encoding.ser.BeanSerializer (_javaType, _xmlType,typeDesc);
> >
> > }
> >}
> >
> >
> >Thanks,
> >Chinmoy
> >
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [email protected]
> >For additional commands, e-mail: [email protected]
> >