public ClassInfo ReadLibraryId(SerReader analyzer) { int libraryId = analyzer.reader.ReadInt32(); analyzer.FixTypeName(analyzer.LibrariesFound[libraryId].Name, Name); return(this); }
public ClassInfo ReadValues(SerReader analyzer) { //then get additional infos where appropriate foreach (MemberInfo member in Members) { TypeHelper.GetTypeValue(member, member, analyzer); } return(this); }
public BinaryArray ReadLengths(SerReader analyzer) { Lengths = new List <int>(Rank); for (int i = 0; i < Rank; i++) { Lengths.Add(analyzer.reader.ReadInt32()); } return(this); }
public BinaryArray ReadValues(SerReader analyzer) { MemberInfo junk = new MemberInfo(); for (int i = 0; i < Slots; i++) { TypeHelper.GetTypeValue(this, junk, analyzer); } return(this); }
internal ClassInfo ReadMembers(SerReader analyzer) { ReadObjectId(analyzer); Name = analyzer.ReadMarkString(); Members = new List <MemberInfo>(analyzer.reader.ReadInt32()); for (int i = 0; i < Members.Capacity; i++) { Members.Add(new MemberInfo()); Members[i].Name = analyzer.reader.ReadString(); Members[i].RelevantObject = this; } return(this); }
internal ClassInfo ReadTypeInfo(SerReader analyzer) { //first get binary types foreach (MemberInfo member in Members) { member.BinaryType = (BinaryTypeEnumeration)analyzer.reader.ReadByte(); } //then get additional infos where appropriate foreach (MemberInfo member in Members) { TypeHelper.GetTypeAdditionalInfo(member, analyzer); } return(this); }
internal static void GetTypeAdditionalInfo(TypeHoldingThing typeHolder, SerReader analyzer) { switch (typeHolder.BinaryType) { case BinaryTypeEnumeration.Primitive: typeHolder.PrimitiveType = (PrimitiveTypeEnumeration)analyzer.reader.ReadByte(); break; case BinaryTypeEnumeration.String: break; case BinaryTypeEnumeration.Object: break; case BinaryTypeEnumeration.SystemClass: typeHolder.TypeInfo = new ClassTypeInfo(); typeHolder.TypeInfo.TypeName = analyzer.ReadMarkString(); break; case BinaryTypeEnumeration.Class: typeHolder.TypeInfo = new ClassTypeInfo(); typeHolder.TypeInfo.TypeName = analyzer.ReadMarkString(); int libraryId = analyzer.reader.ReadInt32(); analyzer.FixTypeName(analyzer.LibrariesFound[libraryId].Name, typeHolder.TypeInfo.TypeName); break; case BinaryTypeEnumeration.ObjectArray: break; case BinaryTypeEnumeration.StringArray: break; case BinaryTypeEnumeration.PrimitiveArray: typeHolder.PrimitiveType = (PrimitiveTypeEnumeration)analyzer.reader.ReadByte(); break; } }
internal BinaryArray ReadStruct(SerReader analyzer) { ReadObjectId(analyzer); BinaryArrayTypeEnumeration arrayType = (BinaryArrayTypeEnumeration)analyzer.reader.ReadByte(); Rank = analyzer.reader.ReadInt32(); ReadLengths(analyzer); if (arrayType == BinaryArrayTypeEnumeration.SingleOffset || arrayType == BinaryArrayTypeEnumeration.JaggedOffset || arrayType == BinaryArrayTypeEnumeration.RectangularOffset) { LowerBounds = new List <int>(Rank); for (int i = 0; i < Rank; i++) { LowerBounds.Add(analyzer.reader.ReadInt32()); } } BinaryType = (BinaryTypeEnumeration)analyzer.reader.ReadByte(); TypeHelper.GetTypeAdditionalInfo(this, analyzer); return(this); }
public new BinaryArray ReadObjectId(SerReader analyzer) { base.ReadObjectId(analyzer); return this; }
public ClassInfo ReadValues(SerReader analyzer) { //then get additional infos where appropriate foreach (MemberInfo member in Members) { TypeHelper.GetTypeValue(member, member, analyzer); } return this; }
internal ClassInfo ReadTypeInfo(SerReader analyzer) { //first get binary types foreach (MemberInfo member in Members) { member.BinaryType = (BinaryTypeEnumeration)analyzer.reader.ReadByte(); } //then get additional infos where appropriate foreach (MemberInfo member in Members) { TypeHelper.GetTypeAdditionalInfo(member, analyzer); } return this; }
internal ClassInfo ReadMembers(SerReader analyzer) { ReadObjectId(analyzer); Name = analyzer.ReadMarkString(); Members = new List<MemberInfo>(analyzer.reader.ReadInt32()); for (int i = 0; i < Members.Capacity; i++) { Members.Add(new MemberInfo()); Members[i].Name = analyzer.reader.ReadString(); Members[i].RelevantObject = this; } return this; }
public ClassInfo ReadLibraryId(SerReader analyzer) { int libraryId = analyzer.reader.ReadInt32(); analyzer.FixTypeName(analyzer.LibrariesFound[libraryId].Name, Name); return this; }
public new ObjectString ReadObjectId(SerReader analyzer) { base.ReadObjectId(analyzer); return this; }
public new ClassInfo ReadObjectId(SerReader analyzer) { base.ReadObjectId(analyzer); return this; }
public ObjectString ReadString(SerReader analyzer) { String = analyzer.ReadAndFixString(); return this; }
public ObjectString ReadString(SerReader analyzer) { String = analyzer.ReadAndFixString(); return(this); }
public new ClassInfo ReadObjectId(SerReader analyzer) { base.ReadObjectId(analyzer); return(this); }
public BinaryArray ReadLengths(SerReader analyzer) { Lengths = new List<int>(Rank); for (int i = 0; i < Rank; i++) { Lengths.Add(analyzer.reader.ReadInt32()); } return this; }
internal BinaryArray ReadStruct(SerReader analyzer) { ReadObjectId(analyzer); BinaryArrayTypeEnumeration arrayType = (BinaryArrayTypeEnumeration)analyzer.reader.ReadByte(); Rank = analyzer.reader.ReadInt32(); ReadLengths(analyzer); if (arrayType == BinaryArrayTypeEnumeration.SingleOffset || arrayType == BinaryArrayTypeEnumeration.JaggedOffset || arrayType == BinaryArrayTypeEnumeration.RectangularOffset) { LowerBounds = new List<int>(Rank); for (int i = 0; i < Rank; i++) LowerBounds.Add(analyzer.reader.ReadInt32()); } BinaryType = (BinaryTypeEnumeration)analyzer.reader.ReadByte(); TypeHelper.GetTypeAdditionalInfo(this, analyzer); return this; }
public new ObjectString ReadObjectId(SerReader analyzer) { base.ReadObjectId(analyzer); return(this); }
public BinaryArray ReadValues(SerReader analyzer) { MemberInfo junk = new MemberInfo(); for (int i = 0; i < Slots; i++) TypeHelper.GetTypeValue(this, junk, analyzer); return this; }
public BinaryArray ReadPrimitiveType(SerReader analyzer) { PrimitiveType = (PrimitiveTypeEnumeration)analyzer.reader.ReadByte(); return this; }
public new BinaryArray ReadObjectId(SerReader analyzer) { base.ReadObjectId(analyzer); return(this); }
internal static void GetTypeValue(TypeHoldingThing typeHolder, ValueHoldingThing valueHolder, SerReader analyzer) { switch (typeHolder.BinaryType) { case BinaryTypeEnumeration.Primitive: switch (typeHolder.PrimitiveType) { case PrimitiveTypeEnumeration.Boolean: valueHolder.Value = analyzer.reader.ReadBoolean(); break; case PrimitiveTypeEnumeration.Byte: valueHolder.Value = analyzer.reader.ReadByte(); break; case PrimitiveTypeEnumeration.Char: valueHolder.Value = analyzer.reader.ReadChar(); break; case PrimitiveTypeEnumeration.DateTime: valueHolder.Value = DateTime.FromBinary(analyzer.reader.ReadInt64()); break; case PrimitiveTypeEnumeration.Decimal: string decimalValue = analyzer.reader.ReadString(); valueHolder.Value = decimal.Parse(decimalValue); break; case PrimitiveTypeEnumeration.Double: valueHolder.Value = analyzer.reader.ReadDouble(); break; case PrimitiveTypeEnumeration.Int16: valueHolder.Value = analyzer.reader.ReadInt16(); break; case PrimitiveTypeEnumeration.Int32: valueHolder.Value = analyzer.reader.ReadInt32(); break; case PrimitiveTypeEnumeration.Int64: valueHolder.Value = analyzer.reader.ReadInt64(); break; case PrimitiveTypeEnumeration.Null: valueHolder.Value = null; break; case PrimitiveTypeEnumeration.SByte: valueHolder.Value = analyzer.reader.ReadSByte(); break; case PrimitiveTypeEnumeration.Single: valueHolder.Value = analyzer.reader.ReadSingle(); break; case PrimitiveTypeEnumeration.String: valueHolder.Value = analyzer.ReadAndFixString(); break; case PrimitiveTypeEnumeration.TimeSpan: valueHolder.Value = TimeSpan.FromTicks(analyzer.reader.ReadInt64()); break; case PrimitiveTypeEnumeration.UInt16: valueHolder.Value = analyzer.reader.ReadUInt16(); break; case PrimitiveTypeEnumeration.UInt32: valueHolder.Value = analyzer.reader.ReadUInt32(); break; case PrimitiveTypeEnumeration.UInt64: valueHolder.Value = analyzer.reader.ReadUInt64(); break; } break; case BinaryTypeEnumeration.String: valueHolder.ValueRefID = analyzer.ParseRecord(typeHolder.RelevantObject); break; case BinaryTypeEnumeration.Object: valueHolder.ValueRefID = analyzer.ParseRecord(typeHolder.RelevantObject); break; case BinaryTypeEnumeration.SystemClass: valueHolder.ValueRefID = analyzer.ParseRecord(typeHolder.RelevantObject); break; case BinaryTypeEnumeration.Class: valueHolder.ValueRefID = analyzer.ParseRecord(typeHolder.RelevantObject); break; case BinaryTypeEnumeration.ObjectArray: valueHolder.ValueRefID = analyzer.ParseRecord(typeHolder.RelevantObject); break; case BinaryTypeEnumeration.StringArray: valueHolder.ValueRefID = analyzer.ParseRecord(typeHolder.RelevantObject); break; case BinaryTypeEnumeration.PrimitiveArray: valueHolder.ValueRefID = analyzer.ParseRecord(typeHolder.RelevantObject); break; } }
public BinaryArray ReadPrimitiveType(SerReader analyzer) { PrimitiveType = (PrimitiveTypeEnumeration)analyzer.reader.ReadByte(); return(this); }
public ObjectWithId ReadObjectId(SerReader analyzer) { ObjectID = analyzer.reader.ReadInt32(); return(this); }
public ObjectWithId ReadObjectId(SerReader analyzer) { ObjectID = analyzer.reader.ReadInt32(); return this; }