public static CoverageOptionsDescriptor ReadExternal(EmmaBinaryReader ebr)
 {
     //bool excludeEmptyClasses = br.ReadBoolean();
     //bool excludeSyntheticMethods = ebr.ReadBoolean();
     //bool excludeBridgeMethods = ebr.ReadBoolean();
     //bool doSUIDCompensation = ebr.ReadBoolean();
     return new CoverageOptionsDescriptor(ebr.ReadBoolean(), ebr.ReadBoolean(), ebr.ReadBoolean());
 }
 public static MetaDataDescriptor ReadExternal(EmmaBinaryReader ebr)
 {
     CoverageOptionsDescriptor options = CoverageOptionsDescriptor.ReadExternal(ebr);
     bool hasSrcFileInfo = ebr.ReadBoolean();
     bool hasLineNumberInfo = ebr.ReadBoolean();
     int size = ebr.ReadInt32();
     Dictionary<string, ClassDescriptor> classMap = new Dictionary<string, ClassDescriptor>();
     for (int i = 0; i < size; ++i)
     {
         string className = ebr.ReadUTF();
         ClassDescriptor cls = ClassDescriptor.ReadExternal(ebr);
         classMap.Add(className, cls);
     }
     return new MetaDataDescriptor(options, classMap, hasSrcFileInfo, hasLineNumberInfo);
 }
        public static bool[] readBooleanArray(EmmaBinaryReader ebr)
        {
            int length = ebr.ReadInt32();
            if (length == NULL_ARRAY_LENGTH)
                return null;
            else
            {
                bool[] result = new bool[length];

                // read array in reverse order:
                for (int i = length; --i >= 0; )
                {
                    result[i] = ebr.ReadBoolean();
                }

                return result;
            }
        }