void IFreeze.Freeze(FreezeBuffer fb) { fb.Byte((byte)SerializationCode.P6how); fb.ObjRef(stable); fb.Byte((byte)(isComposed ? 2 : isComposing ? 1 : 0)); fb.String(rtype); fb.ObjRef(roleFactory); fb.ObjRef(subsetWhereThunk); fb.ObjRef(subsetFilter); // local_does not yet used fb.Int(lmethods.Count); // we do NOT save source position info here, it's only used // intra-unit foreach (MethodInfo mi in lmethods) { fb.String(mi.short_name); fb.String(mi.long_name); fb.ObjRef(mi.impl); fb.Byte(checked ((byte)mi.flags)); } fb.Int(local_attr.Count); foreach (AttrInfo ai in local_attr) { fb.String(ai.name); fb.ObjRef(ai.init); fb.Byte(checked ((byte)ai.flags)); fb.ObjRef(ai.type); } fb.Refs <STable>(superclasses); fb.Refs <STable>(mro); }
void IFreeze.Freeze(FreezeBuffer fb) { fb.Byte((byte)SerializationCode.VarHash); fb.Int(count); foreach (KeyValuePair <string, Variable> kv in this) { fb.String(kv.Key); fb.ObjRef(kv.Value); } }
protected void FreezeSelf(FreezeBuffer fb, Type t) { fb.Byte((byte)SerializationCode.P6opaque); int i; for (i = 0; i < FreezeBuffer.boxTypes.Length && FreezeBuffer.boxTypes[i] != t; i++) { } if (i == FreezeBuffer.boxTypes.Length) { throw new NotImplementedException(t.FullName); } fb.Byte((byte)i); fb.ObjRef(mo); int l = slots == null ? 0 : slots.Length; fb.Int(l); for (i = 0; i < l; i++) { fb.ObjRef(slots[i]); } }
void IFreeze.Freeze(FreezeBuffer fb) { fb.Byte((byte)SerializationCode.VarDeque); fb.Int(count); int index = head; for (int i = 0; i < count; i++) { fb.ObjRef(data[index]); index++; if (index == data.Length) { index = 0; } } }
void IFreeze.Freeze(FreezeBuffer fb) { fb.Byte((byte)SerializationCode.STable); fb.ObjRef(mo); fb.ObjRef(how); fb.ObjRef(who); fb.ObjRef(typeObject); fb.ObjRef(initObject); fb.ObjRef(typeVar); fb.ObjRef(initVar); fb.String(name); fb.Byte((byte)(isSubset ? 1 : 0)); fb.String(box_type == null ? null : box_type.AssemblyQualifiedName); fb.Strings(all_slot); }
public override void Freeze(FreezeBuffer fb) { fb.Byte((byte) SerializationCode.LADCC); fb.ObjRef(cc); }
public override void Freeze(FreezeBuffer fb) { fb.Byte((byte) SerializationCode.LADQuant); fb.Byte((byte) (type | (z1 != null ? 8 : 0))); fb.ObjRef(z0); if (z1 != null) fb.ObjRef(z1); }
public override void Freeze(FreezeBuffer fb) { FreezeSelf(fb, typeof(T)); fb.ObjRef(value); }
void IFreeze.Freeze(FreezeBuffer fb) { fb.Byte((byte)SerializationCode.FatRat); fb.ObjRef(num); fb.ObjRef(den); }
void IFreeze.Freeze(FreezeBuffer fb) { fb.Byte((byte)SerializationCode.Rat); fb.ObjRef(num); fb.Long((long)den); }