Пример #1
0
 private void HandleColon()
 {
     _currentKeyValuePair = _keyValueStack.Peek();
     _currentItem         = _itemStack.Peek();
     _syntaxChars.Push(':');
     if (!_pendingForPairValue)
     {
         JKeyValuePair pair =
             new JKeyValuePair(JItemFactory.JSingleValue(_JItemContentsBuffer.ToString()), null);
         (_currentItem as JCollection).Add(pair);
         _keyValueStack.Push(pair);
     }
     else
     {
         //throw new InvalidEnumArgumentException();
     }
     _pendingForPairValue = true;
     _JItemContentsBuffer.Clear();
 }
Пример #2
0
 private void HandleCurlyBracket()
 {
     _currentKeyValuePair = _keyValueStack.Peek();
     _currentItem         = _itemStack.Peek();
     if (_pendingForPairValue)
     {
         JObject item = new JObject(_currentItem);
         _currentKeyValuePair.Value = item;
         _JItemContentsBuffer.Clear();
         CacheKeyValueAndCurrentItem(item);
         _pendingForPairValue = false;
     }
     else
     {
         JObject nItm = new JObject(_currentItem);
         (_currentItem as JCollection).Add(nItm);
         nItm.Parent = _currentItem;
         _itemStack.Push(nItm);
     }
 }
Пример #3
0
 private void HandleClosingCurlyBracket()
 {
     _currentKeyValuePair = _keyValueStack.Peek();
     _currentItem         = _itemStack.Peek();
     if (_pendingForPairValue)
     {
         JItem item = JItemFactory.JSingleValue(_JItemContentsBuffer.ToString(), _currentItem);
         _currentKeyValuePair.Value = item;
         _JItemContentsBuffer.Clear();
         _keyValueStack.Pop();
         _pendingForPairValue = false;
     }
     else
     {
         if (!string.IsNullOrWhiteSpace(_JItemContentsBuffer.ToString()))
         {
             _currentItem.Add(JItemFactory.JSingleValue(_JItemContentsBuffer.ToString(), _currentItem));
             _JItemContentsBuffer.Clear();
         }
     }
     _itemStack.Pop();
 }
Пример #4
0
 private void HandleComma()
 {
     _currentKeyValuePair = _keyValueStack.Peek();
     _currentItem         = _itemStack.Peek();
     if (_pendingForPairValue)
     {
         JItem jI = JItemFactory.JSingleValue(_JItemContentsBuffer.ToString(), _currentItem);
         _currentKeyValuePair.Value = jI;
         _keyValueStack.Pop();
         _pendingForPairValue = false;
     }
     else
     {
         if (!string.IsNullOrWhiteSpace(_JItemContentsBuffer.ToString()))
         {
             (_currentItem as JCollection).Add(JItemFactory.JSingleValue(_JItemContentsBuffer.ToString(), _currentItem));
             _JItemContentsBuffer.Clear();
             return;
         }
     }
     _syntaxChars.Push(',');
     _JItemContentsBuffer.Clear();
 }
Пример #5
0
 public JKeyValuePair(JItem parent) : base(parent)
 {
 }
Пример #6
0
 private void CacheKeyValueAndCurrentItem(JItem item)
 {
     _keyValueStack.Push(_currentKeyValuePair);
     _itemStack.Push(item);
 }
Пример #7
0
 public virtual bool Equals(JItem jitem)
 {
     return(false);
 }
Пример #8
0
 public JObject(JItem parent, params JItem[] jItems) : base(parent, jItems)
 {
 }
Пример #9
0
 public JItem(JItem parent = null)
 {
     Parent = parent;
 }
Пример #10
0
 public JArray(JItem parent) : base(parent)
 {
 }
Пример #11
0
 public JSingleValue(string value, JItem parent = null) :
     base(parent)
 {
     Contents = value;
 }
Пример #12
0
 public JCollection(JItem parent, params JItem[] jItems) : base(parent)
 {
     Items = new List <JItem>();
     Add(jItems);
 }
Пример #13
0
 public JCollection(JItem parent) : base(parent)
 {
     Items = new List <JItem>();
 }