private void CheckCorrectTypeForField() { ClassMetadata currentFieldType = DetectFieldType(); if (currentFieldType == null) { _reflectField = null; _state = FieldMetadataState.Unavailable; return; } if (currentFieldType == _fieldType && Handlers4.BaseType(_reflectField.GetFieldType ()).IsPrimitive() == _isPrimitive) { return; } // special case when migrating from type handler ids // to class metadata ids which caused // any interface metadata id to be mapped to UNTYPED_ID if (Handlers4.IsUntyped(currentFieldType.TypeHandler()) && Handlers4.IsUntyped(_fieldType .TypeHandler())) { return; } // FIXME: COR-547 Diagnostics here please. _state = FieldMetadataState.Updating; }
internal virtual bool SupportsIndex() { return(Alive() && (GetHandler() is IIndexable4) && (!Handlers4.IsUntyped(GetHandler ()))); }