public static SCKeyValObject Create(string key, SCValue value) { var k = new SCIdentifier(key); var t = new SCToken(Tokens.Eq); return(new SCKeyValObject(k, t, value)); }
public SCValue this[SCValue val] { get { return(contents.FirstOrDefault(kv => kv.Key.ToString() == val.ToString())?.Value); } set { var kvo = contents.FirstOrDefault(kv => kv.Key.ToString() == val.ToString()); if (kvo == null) { contents.Add(new SCKeyValObject(val, new SCToken(Tokens.Eq), value)); } else { var idx = contents.IndexOf(kvo); contents.Remove(kvo); contents.Insert(idx, new SCKeyValObject(val, new SCToken(Tokens.Eq), value)); } } }
public SCKeyValObject(SCValue key, SCValue value) : this(key, new SCToken(Tokens.Eq), value) { }
public SCKeyValObject(SCValue key, SCValue cmp, SCValue value) { Key = key; Cmp = cmp; Value = value; }
public void Add(SCValue key, SCValue cmp, SCValue value) { contents.Add(new SCKeyValObject(key, cmp, value)); }
void PushNewObject(SCValue name) { _currentObjectStack.Push(new SCObject(name as SCIdentifier)); }
void SetKeyValue(SCValue key, SCValue cmp, SCValue value) { _currentObjectStack.Peek().Add(key, cmp, value); }