Exemple #1
0
        /// <summary>
        /// Creates a valid right side IValue, according to the target variable (left side)
        /// </summary>
        /// <param name="variable">The target variable</param>
        /// <param name="duplicate">Indicates that a duplication of the variable should be performed</param>
        /// <returns></returns>
        public override Values.IValue RightSide(Variables.IVariable variable, bool duplicate)
        {
            ListValue retVal = this;

            //  Complete the list with empty values
            Types.Collection collectionType = variable.Type as Types.Collection;
            if (collectionType != null)
            {
                Values.EmptyValue emptyValue = EFSSystem.EmptyValue;
                while (retVal.Val.Count < collectionType.getMaxSize())
                {
                    retVal.Val.Add(emptyValue);
                }
            }
            retVal.Enclosing = variable;

            return(retVal);
        }