Esempio n. 1
0
 public TokenArray(ITomlToken first, IEnumerable<ITomlToken> rest)
 {
     Value = new List<ITomlToken>();
     Value.Add(first);
     foreach (ITomlToken item in rest)
     {
         Value.Add(item);
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Unboxes a data element within an array or recurses to further process an array.
 /// </summary>
 private static object MakeNestedHash(ITomlToken tomlToken)
 {
     Hashtable nht = new Hashtable();
     var a = tomlToken as TokenArray;
     if (a == null)
     {
         return nht;
     }
     for (int i = 0; i < a.Value.Count; i++)
     {
         if (a.Value[ i ] is TokenArray)
         {
             nht[ i ] = MakeNestedHash(a.Value[ i ]);
         }
         else
         {
             nht[ i ] = UnboxTomlObject(a.Value[ i ]);
         }
     }
     return nht;
 }
Esempio n. 3
0
        /// <summary>
        /// Unboxes to a primitive or a TomlDocument.
        /// </summary>
        private static object UnboxTomlObject(ITomlToken data)
        {
            if (data is TokenString)
            {
                return ( data as TokenString ).Value;
            }

            if (data is TokenInteger)
            {
                return ( data as TokenInteger ).Value;
            }

            if (data is TokenFloat)
            {
                return ( data as TokenFloat ).Value;
            }

            if (data is TokenDateTime)
            {
                return ( data as TokenDateTime ).Value;
            }

            if (data is TokenBool)
            {
                return ( data as TokenBool ).Value;
            }

            if (data is TokenArray)
            {
                return new TomlDocument(( data as TokenArray ).Value);
            }

            throw new ArgumentException("Unusable data type: " + data.GetType());
        }
Esempio n. 4
0
 public TomlKeyValue(string key, ITomlToken val)
 {
     Key = key;
     Value = val;
 }