Beispiel #1
0
        JClassDescInfo ClassDescInfo()
        {
            JClassDescInfo info = new JClassDescInfo();

            info.Flags  = ReadUInt8();
            info.Fields = new JFieldDesc[ReadUInt16()];
            for (int i = 0; i < info.Fields.Length; i++)
            {
                info.Fields[i] = FieldDesc();
            }
            info.Annotation = Annotation();
            info.SuperClass = ClassDesc();
            return(info);
        }
Beispiel #2
0
        JClassData ClassData(JClassDescInfo info)
        {
            if ((info.Flags & SC_SERIALIZABLE) == 0)
            {
                throw new InvalidDataException("Invalid class data flags: " + info.Flags);
            }

            JClassData data = new JClassData();

            data.Values = new object[info.Fields.Length];
            for (int i = 0; i < data.Values.Length; i++)
            {
                data.Values[i] = Value(info.Fields[i].Type);
            }

            if ((info.Flags & SC_WRITE_METHOD) != 0)
            {
                data.Annotation = Annotation();
            }
            return(data);
        }