home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / misc / ProxyGenerator$MethodInfo.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.9 KB  |  65 lines

  1. package sun.misc;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.IOException;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. class ProxyGenerator$MethodInfo {
  10.    public int accessFlags;
  11.    public String name;
  12.    public String descriptor;
  13.    public short maxStack;
  14.    public short maxLocals;
  15.    public ByteArrayOutputStream code;
  16.    public List exceptionTable;
  17.    public short[] declaredExceptions;
  18.    // $FF: synthetic field
  19.    private final ProxyGenerator this$0;
  20.  
  21.    public ProxyGenerator$MethodInfo(ProxyGenerator var1, String var2, String var3, int var4) {
  22.       this.this$0 = var1;
  23.       this.code = new ByteArrayOutputStream();
  24.       this.exceptionTable = new ArrayList();
  25.       this.name = var2;
  26.       this.descriptor = var3;
  27.       this.accessFlags = var4;
  28.       ProxyGenerator.access$400(var1).getUtf8(var2);
  29.       ProxyGenerator.access$400(var1).getUtf8(var3);
  30.       ProxyGenerator.access$400(var1).getUtf8("Code");
  31.       ProxyGenerator.access$400(var1).getUtf8("Exceptions");
  32.    }
  33.  
  34.    public void write(DataOutputStream var1) throws IOException {
  35.       var1.writeShort(this.accessFlags);
  36.       var1.writeShort(ProxyGenerator.access$400(this.this$0).getUtf8(this.name));
  37.       var1.writeShort(ProxyGenerator.access$400(this.this$0).getUtf8(this.descriptor));
  38.       var1.writeShort(2);
  39.       var1.writeShort(ProxyGenerator.access$400(this.this$0).getUtf8("Code"));
  40.       var1.writeInt(12 + this.code.size() + 8 * this.exceptionTable.size());
  41.       var1.writeShort(this.maxStack);
  42.       var1.writeShort(this.maxLocals);
  43.       var1.writeInt(this.code.size());
  44.       this.code.writeTo(var1);
  45.       var1.writeShort(this.exceptionTable.size());
  46.  
  47.       for(ProxyGenerator.ExceptionTableEntry var3 : this.exceptionTable) {
  48.          var1.writeShort(var3.startPc);
  49.          var1.writeShort(var3.endPc);
  50.          var1.writeShort(var3.handlerPc);
  51.          var1.writeShort(var3.catchType);
  52.       }
  53.  
  54.       var1.writeShort(0);
  55.       var1.writeShort(ProxyGenerator.access$400(this.this$0).getUtf8("Exceptions"));
  56.       var1.writeInt(2 + 2 * this.declaredExceptions.length);
  57.       var1.writeShort(this.declaredExceptions.length);
  58.  
  59.       for(int var4 = 0; var4 < this.declaredExceptions.length; ++var4) {
  60.          var1.writeShort(this.declaredExceptions[var4]);
  61.       }
  62.  
  63.    }
  64. }
  65.