private void TrackChanges(JsValue property, PropertyDescriptor desc, bool isArrayIndex) { EnsureInitialized(); if (!desc.IsDefaultArrayValueDescriptor()) { _objectChangeFlags |= ObjectChangeFlags.NonDefaultDataDescriptorUsage; } if (isArrayIndex) { _objectChangeFlags |= ObjectChangeFlags.ArrayIndex; } else { _objectChangeFlags |= property.IsSymbol() ? ObjectChangeFlags.Symbol : ObjectChangeFlags.Property; } }