tons of stuff
[org.ibex.classgen.git] / src / org / ibex / classgen / MethodRef.java
1 package org.ibex.classgen;
2
3 public class MethodRef extends ClassGen.FieldMethodRef {
4     public MethodRef(Type.Object c, ClassGen.NameAndType t) { super(c,t); }
5     public MethodRef(Type.Object c, String name, String descriptor) {
6         this(c,new ClassGen.NameAndType(name,descriptor));
7     }
8     public MethodRef(Type.Object c, String name, Type ret, Type[] args) {
9         this(c,name,getDescriptor(ret,args));
10     }
11     public MethodRef(String s, String name, Type ret, Type[] args) {
12         this(new Type.Object(s),name,ret,args);
13     }
14     
15     static String getDescriptor(Type ret, Type[] args) {
16         StringBuffer sb = new StringBuffer(args.length*4);
17         sb.append("(");
18         for(int i=0;i<args.length;i++) sb.append(args[i].getDescriptor());
19         sb.append(")");
20         sb.append(ret.getDescriptor());
21         return sb.toString();
22     }
23 }
24