home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / rmi / rmic / GenerateMarshaling.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  3.2 KB  |  127 lines

  1. package sun.rmi.rmic;
  2.  
  3. import sun.tools.java.Constants;
  4. import sun.tools.java.Type;
  5.  
  6. public class GenerateMarshaling extends ProxyNames implements Constants {
  7.    public static void marshalArgument(ProxyStream var0, String var1, Type var2, String var3) {
  8.       switch (var2.getTypeCode()) {
  9.          case 0:
  10.             var0.p(var1 + ".writeBoolean($" + var3 + ")");
  11.             return;
  12.          case 1:
  13.             var0.p(var1 + ".writeByte($" + var3 + ")");
  14.             return;
  15.          case 2:
  16.             var0.p(var1 + ".writeChar($" + var3 + ")");
  17.             return;
  18.          case 3:
  19.             var0.p(var1 + ".writeShort($" + var3 + ")");
  20.             return;
  21.          case 4:
  22.             var0.p(var1 + ".writeInt($" + var3 + ")");
  23.             return;
  24.          case 5:
  25.             var0.p(var1 + ".writeLong($" + var3 + ")");
  26.             return;
  27.          case 6:
  28.             var0.p(var1 + ".writeFloat($" + var3 + ")");
  29.             return;
  30.          case 7:
  31.             var0.p(var1 + ".writeDouble($" + var3 + ")");
  32.             return;
  33.          case 8:
  34.             var0.p(var1 + ".writeObject(null)");
  35.             return;
  36.          case 9:
  37.          case 10:
  38.             var0.p(var1 + ".writeObject($" + var3 + ")");
  39.             return;
  40.          case 11:
  41.             throw new Error("Void type unexpected in marshalArgument");
  42.          case 12:
  43.             throw new Error("Method type unexpected in marshalArgument");
  44.          case 13:
  45.             throw new Error("Error type unexpected in marshalArgument");
  46.          default:
  47.             throw new Error("Unknown type code");
  48.       }
  49.    }
  50.  
  51.    public static boolean unmarshalArgument(ProxyStream var0, String var1, Type var2, String var3) {
  52.       boolean var4 = false;
  53.       if (var3 != null) {
  54.          var0.p("$" + var3 + " = ");
  55.       }
  56.  
  57.       switch (var2.getTypeCode()) {
  58.          case 0:
  59.             var0.p(var1 + ".readBoolean()");
  60.             break;
  61.          case 1:
  62.             var0.p(var1 + ".readByte()");
  63.             break;
  64.          case 2:
  65.             var0.p(var1 + ".readChar()");
  66.             break;
  67.          case 3:
  68.             var0.p(var1 + ".readShort()");
  69.             break;
  70.          case 4:
  71.             var0.p(var1 + ".readInt()");
  72.             break;
  73.          case 5:
  74.             var0.p(var1 + ".readLong()");
  75.             break;
  76.          case 6:
  77.             var0.p(var1 + ".readFloat()");
  78.             break;
  79.          case 7:
  80.             var0.p(var1 + ".readDouble()");
  81.             break;
  82.          case 8:
  83.             var0.p(" = null;");
  84.             break;
  85.          case 9:
  86.          case 10:
  87.             var4 = true;
  88.             var0.p("(" + var2.toString() + ")" + var1 + ".readObject()");
  89.             break;
  90.          case 11:
  91.             throw new Error("Void type unexpected in unmarshalArgument");
  92.          case 12:
  93.             throw new Error("Method type unexpected in unmarshalArgument");
  94.          case 13:
  95.             throw new Error("Error type unexpected in unmarshalArgument");
  96.          default:
  97.             throw new Error("Unknown type code");
  98.       }
  99.  
  100.       return var4;
  101.    }
  102.  
  103.    public static void marshalArguments(ProxyStream var0, String var1, Type[] var2, String[] var3) {
  104.       if (var2.length != var3.length) {
  105.          throw new Error("internal error, marshalArguments!");
  106.       } else {
  107.          for(int var4 = 0; var4 < var2.length; ++var4) {
  108.             marshalArgument(var0, var1, var2[var4], var3[var4]);
  109.             var0.pln(";");
  110.          }
  111.  
  112.       }
  113.    }
  114.  
  115.    public static void unmarshalArguments(ProxyStream var0, String var1, Type[] var2, String[] var3) {
  116.       if (var2.length != var3.length) {
  117.          throw new Error("internal error, unmarshalArguments!");
  118.       } else {
  119.          for(int var4 = 0; var4 < var2.length; ++var4) {
  120.             unmarshalArgument(var0, var1, var2[var4], var3[var4]);
  121.             var0.pln(";");
  122.          }
  123.  
  124.       }
  125.    }
  126. }
  127.