예제 #1
0
파일: ObjModel.cs 프로젝트: ebassi/niecza
        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);
        }
예제 #2
0
파일: Cursor.cs 프로젝트: nbrown/niecza
 void IFreeze.Freeze(FreezeBuffer fb)
 {
     fb.Byte((byte) SerializationCode.AltInfo);
     fb.Ints(labels);
     fb.Refs(prefixes);
     fb.String(dba);
 }
예제 #3
0
파일: Cursor.cs 프로젝트: nbrown/niecza
 public override void Freeze(FreezeBuffer fb)
 {
     fb.Byte((byte) SerializationCode.LADAny);
     fb.Refs(zyg);
 }
예제 #4
0
파일: Cursor.cs 프로젝트: nbrown/niecza
 public override void Freeze(FreezeBuffer fb)
 {
     fb.Byte((byte) SerializationCode.LADSequence);
     fb.Refs(args);
 }