in ILRepack/SerReader.cs [465:494]
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;
}
}