internal long GetId(long objectId)
{
if (!_fullDeserialization)
{
InitFullDeserialization();
}
if (objectId > 0)
{
return objectId;
}
if (_oldFormatDetected || objectId == -1)
{
// Alarm bells. This is an old format. Deal with it.
_oldFormatDetected = true;
if (_valTypeObjectIdTable == null)
{
_valTypeObjectIdTable = new IntSizedArray();
}
long tempObjId = 0;
if ((tempObjId = _valTypeObjectIdTable[(int)objectId]) == 0)
{
tempObjId = ThresholdForValueTypeIds + objectId;
_valTypeObjectIdTable[(int)objectId] = (int)tempObjId;
}
return tempObjId;
}
return -1 * objectId;
}