home *** CD-ROM | disk | FTP | other *** search
- package java.io;
-
- import java.lang.reflect.AccessibleObject;
- import java.lang.reflect.Field;
- import java.lang.reflect.Modifier;
- import java.security.PrivilegedAction;
-
- class ObjectStreamClass$1 implements PrivilegedAction {
- // $FF: synthetic field
- private final Class val$cl;
- // $FF: synthetic field
- private final ObjectStreamClass this$0;
-
- ObjectStreamClass$1(ObjectStreamClass var1, Class var2) {
- this.this$0 = var1;
- this.val$cl = var2;
- }
-
- public Object run() {
- try {
- Field var1 = this.val$cl.getDeclaredField("serialPersistentFields");
- ((AccessibleObject)var1).setAccessible(true);
- ObjectStreamField[] var2 = (ObjectStreamField[])var1.get(this.val$cl);
- int var3 = var1.getModifiers();
- if (Modifier.isPrivate(var3) && Modifier.isFinal(var3) && Modifier.isStatic(var3)) {
- ObjectStreamClass.access$002(this.this$0, var2);
- }
- } catch (NoSuchFieldException var7) {
- ObjectStreamClass.access$002(this.this$0, (ObjectStreamField[])null);
- } catch (IllegalAccessException var8) {
- ObjectStreamClass.access$002(this.this$0, (ObjectStreamField[])null);
- } catch (IllegalArgumentException var9) {
- ObjectStreamClass.access$002(this.this$0, (ObjectStreamField[])null);
- } catch (ClassCastException var10) {
- ObjectStreamClass.access$002(this.this$0, (ObjectStreamField[])null);
- }
-
- if (ObjectStreamClass.access$000(this.this$0) == null) {
- Field[] var11 = this.val$cl.getDeclaredFields();
- int var13 = 0;
- ObjectStreamField[] var15 = new ObjectStreamField[var11.length];
-
- for(int var4 = 0; var4 < var11.length; ++var4) {
- int var5 = var11[var4].getModifiers();
- if (!Modifier.isStatic(var5) && !Modifier.isTransient(var5)) {
- var15[var13++] = new ObjectStreamField(var11[var4]);
- }
- }
-
- ObjectStreamClass.access$002(this.this$0, new ObjectStreamField[var13]);
- System.arraycopy(var15, 0, ObjectStreamClass.access$000(this.this$0), 0, var13);
- } else {
- for(int var12 = ObjectStreamClass.access$000(this.this$0).length - 1; var12 >= 0; --var12) {
- try {
- Field var14 = this.val$cl.getDeclaredField(ObjectStreamClass.access$000(this.this$0)[var12].getName());
- if (ObjectStreamClass.access$000(this.this$0)[var12].getType() == var14.getType()) {
- ObjectStreamClass.access$000(this.this$0)[var12].setField(var14);
- }
- } catch (NoSuchFieldException var6) {
- }
- }
- }
-
- return null;
- }
- }
-