public void AddComponentAttributeProperty(IAttributeProperty attributeProperty)
 {
     var coalesceValue = attributeProperty.Value;
     if (attributeProperty.Collection != null && attributeProperty.Collection is IEnumerableExpression<object> enumerableExpression)
     {
         coalesceValue = (INotifyReversableExpression<object>)Observable.Reversable(() => enumerableExpression.FirstOrDefault());
     }
     Coalesce(coalesceValue);
 }
Esempio n. 2
0
        private void LoadProperties(IClass @class, HashSet <IClass> alreadyImplemented)
        {
            if (!alreadyImplemented.Add(@class))
            {
                return;
            }

            foreach (var attConstraint in @class.AttributeConstraints)
            {
                LoadAttributeConstraint(attConstraint);
            }

            foreach (var refConstraint in @class.ReferenceConstraints)
            {
                LoadReferenceConstraint(refConstraint);
            }

            foreach (var att in @class.Attributes)
            {
                var property = LoadAttribute(att);
                if (att == @class.Identifier && _identifierProperty == null)
                {
                    _identifierProperty = property;
                    _identifierScope    = @class.IdentifierScope;
                }
            }

            foreach (var reference in @class.References)
            {
                LoadReference(reference);
            }

            foreach (var baseType in @class.BaseTypes)
            {
                LoadProperties(baseType, alreadyImplemented);
            }
        }
Esempio n. 3
0
 /// <inheritdoc/>
 public void AddAttributeProperty(IAttributeProperty property)
 {
     readOnly.Assert(false);
     properties.Add(property);
 }