public static IdentifierInfo Read(BinaryReader reader)
{
var kind = (IdentifierKind)reader.ReadInt32();
var info = new IdentifierInfo(kind);
info.IsClassDeclaration = reader.ReadBoolean();
info.IsTypePropertyDeclaration = reader.ReadBoolean();
var count = reader.ReadInt32();
info.DeclaredTypeNames = Enumerable.Range(0, count).Select(_ => reader.ReadString()).ToArray();
count = reader.ReadInt32();
info.DeclaredTypePropertyNames = Enumerable.Range(0, count).Select(_ => reader.ReadString()).ToArray();
return info;
}