コード例 #1
0
        /// <summary>
        /// Gets the array descriptor which contains information about defined indexes in the specified array.
        /// </summary>
        /// <param name="arrayValue">The array value.</param>
        /// <returns>True whether structure contains array descriptor which contains information about defined indexes in the specified array.</returns>
        /// <exception cref="System.Exception">Missing array descriptor</exception>
        internal ArrayDescriptor GetDescriptor(AssociativeArray arrayValue)
        {
            ArrayDescriptor descriptor;

            if (ArrayDescriptors.TryGetValue(arrayValue, out descriptor))
            {
                return(descriptor);
            }
            else
            {
                throw new Exception("Missing array descriptor " + arrayValue.ToString());
            }
        }
コード例 #2
0
        /// <summary>
        /// Removes the array from specified index.
        /// </summary>
        /// <param name="index">The index.</param>
        /// <param name="arrayValue">The array value.</param>
        internal void RemoveArray(MemoryIndex index, AssociativeArray arrayValue)
        {
            lockedTest();

            ArrayDescriptors.Remove(arrayValue);

            IndexData data;

            if (!IndexData.TryGetValue(index, out data))
            {
                data = new IndexData(null, null, null);
            }

            IndexDataBuilder builder = data.Builder();

            builder.Array = null;

            IndexData[index] = builder.Build();
            Arrays[index.CallLevel].Remove(arrayValue);
        }
コード例 #3
0
 /// <summary>
 /// Tries to get array descriptor which contains information about defined indexes in the specified array.
 /// </summary>
 /// <param name="arrayValue">The array value.</param>
 /// <param name="descriptor">The descriptor.</param>
 /// <returns>Array descriptor which contains information about defined indexes in the specified array.</returns>
 internal bool TryGetDescriptor(AssociativeArray arrayValue, out ArrayDescriptor descriptor)
 {
     return(ArrayDescriptors.TryGetValue(arrayValue, out descriptor));
 }