private void readProxyClassDescInfo(ClassDataDesc cdd) { print("proxyInterfaceNames"); var b1 = _bb.GetInt32BE(); increaseIndent(); for (int i = 0; i < b1; i++) { print(i + ":"); readUtf(); decreaseIndent(); } readClassAnnotation(); cdd.AddSuperClassDesc(readSuperClassDesc()); }
private void readClassDescInfo(ClassDataDesc cdd) { string classDescFlags = ""; var b1 = _bb.GetByte(); if ((b1 & 0x1) == 1) { classDescFlags = classDescFlags + "SC_WRITE_METHOD | "; } if ((b1 & 0x2) == 2) { classDescFlags = classDescFlags + "SC_SERIALIZABLE | "; } if ((b1 & 0x4) == 4) { classDescFlags = classDescFlags + "SC_EXTERNALIZABLE | "; } if ((b1 & 0x8) == 8) { classDescFlags = classDescFlags + "SC_BLOCKDATA | "; } if (classDescFlags.Length > 0) { classDescFlags = classDescFlags.Substring(0, classDescFlags.Length - 3); } print("classDescFlags - 0x" + string.Format("{0:X2}", b1) + " - " + classDescFlags); cdd.SetLastClassDescFlags(b1); if ((b1 & 0x2) == 2) { if ((b1 & 0x4) == 4) { throw new Exception("Error: Illegal classDescFlags, SC_SERIALIZABLE is not compatible with SC_EXTERNALIZABLE."); } if ((b1 & 0x8) == 8) { throw new Exception("Error: Illegal classDescFlags, SC_SERIALIZABLE is not compatible with SC_BLOCKDATA."); } } else if ((b1 & 0x4) == 4) { if ((b1 & 0x1) == 1) { throw new Exception("Error: Illegal classDescFlags, SC_EXTERNALIZABLE is not compatible with SC_WRITE_METHOD."); } } else if (b1 != 0) { throw new Exception("Error: Illegal classDescFlags, must include either SC_SERIALIZABLE or SC_EXTERNALIZABLE."); } readFields(cdd); readClassAnnotation(); cdd.AddSuperClassDesc(readSuperClassDesc()); }