Esempio n. 1
0
        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;
        }
Esempio n. 2
0
 internal virtual bool SupportsIndex()
 {
     return(Alive() && (GetHandler() is IIndexable4) && (!Handlers4.IsUntyped(GetHandler
                                                                                  ())));
 }