KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jas > MethodCP


1 /**
2  * MethodCP's are used to make references to methods in classes
3  *
4  * @author $Author: fqian $
5  * @version $Revision: 1.1 $
6  */

7
8 package jas;
9 import java.io.*;
10
11
12 public class MethodCP extends CP implements RuntimeConstants
13 {
14   ClassCP clazz;
15   NameTypeCP nt;
16
17   /**
18    * @param cname Class in which method exists
19    * @param varname name of method
20    * @param sig Signature of method
21    */

22   public MethodCP(String JavaDoc cname, String JavaDoc varname, String JavaDoc sig)
23   {
24     uniq = cname + "&%$91&" + varname + "*(012$" + sig;
25     clazz = new ClassCP(cname);
26     nt = new NameTypeCP(varname, sig);
27   }
28
29   void resolve(ClassEnv e)
30   {
31     e.addCPItem(clazz);
32     e.addCPItem(nt);
33   }
34
35   void write(ClassEnv e, DataOutputStream out)
36     throws IOException, jasError
37   {
38     out.writeByte(CONSTANT_METHOD);
39     out.writeShort(e.getCPIndex(clazz));
40     out.writeShort(e.getCPIndex(nt));
41   }
42 }
43
Popular Tags