home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / io / ObjectStreamClass$1.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.9 KB  |  67 lines

  1. package java.io;
  2.  
  3. import java.lang.reflect.AccessibleObject;
  4. import java.lang.reflect.Field;
  5. import java.lang.reflect.Modifier;
  6. import java.security.PrivilegedAction;
  7.  
  8. class ObjectStreamClass$1 implements PrivilegedAction {
  9.    // $FF: synthetic field
  10.    private final Class val$cl;
  11.    // $FF: synthetic field
  12.    private final ObjectStreamClass this$0;
  13.  
  14.    ObjectStreamClass$1(ObjectStreamClass var1, Class var2) {
  15.       this.this$0 = var1;
  16.       this.val$cl = var2;
  17.    }
  18.  
  19.    public Object run() {
  20.       try {
  21.          Field var1 = this.val$cl.getDeclaredField("serialPersistentFields");
  22.          ((AccessibleObject)var1).setAccessible(true);
  23.          ObjectStreamField[] var2 = (ObjectStreamField[])var1.get(this.val$cl);
  24.          int var3 = var1.getModifiers();
  25.          if (Modifier.isPrivate(var3) && Modifier.isFinal(var3) && Modifier.isStatic(var3)) {
  26.             ObjectStreamClass.access$002(this.this$0, var2);
  27.          }
  28.       } catch (NoSuchFieldException var7) {
  29.          ObjectStreamClass.access$002(this.this$0, (ObjectStreamField[])null);
  30.       } catch (IllegalAccessException var8) {
  31.          ObjectStreamClass.access$002(this.this$0, (ObjectStreamField[])null);
  32.       } catch (IllegalArgumentException var9) {
  33.          ObjectStreamClass.access$002(this.this$0, (ObjectStreamField[])null);
  34.       } catch (ClassCastException var10) {
  35.          ObjectStreamClass.access$002(this.this$0, (ObjectStreamField[])null);
  36.       }
  37.  
  38.       if (ObjectStreamClass.access$000(this.this$0) == null) {
  39.          Field[] var11 = this.val$cl.getDeclaredFields();
  40.          int var13 = 0;
  41.          ObjectStreamField[] var15 = new ObjectStreamField[var11.length];
  42.  
  43.          for(int var4 = 0; var4 < var11.length; ++var4) {
  44.             int var5 = var11[var4].getModifiers();
  45.             if (!Modifier.isStatic(var5) && !Modifier.isTransient(var5)) {
  46.                var15[var13++] = new ObjectStreamField(var11[var4]);
  47.             }
  48.          }
  49.  
  50.          ObjectStreamClass.access$002(this.this$0, new ObjectStreamField[var13]);
  51.          System.arraycopy(var15, 0, ObjectStreamClass.access$000(this.this$0), 0, var13);
  52.       } else {
  53.          for(int var12 = ObjectStreamClass.access$000(this.this$0).length - 1; var12 >= 0; --var12) {
  54.             try {
  55.                Field var14 = this.val$cl.getDeclaredField(ObjectStreamClass.access$000(this.this$0)[var12].getName());
  56.                if (ObjectStreamClass.access$000(this.this$0)[var12].getType() == var14.getType()) {
  57.                   ObjectStreamClass.access$000(this.this$0)[var12].setField(var14);
  58.                }
  59.             } catch (NoSuchFieldException var6) {
  60.             }
  61.          }
  62.       }
  63.  
  64.       return null;
  65.    }
  66. }
  67.