コード例 #1
0
ファイル: SCValue.cs プロジェクト: treiduce/SCModManager
        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));
        }
コード例 #2
0
ファイル: SCValue.cs プロジェクト: treiduce/SCModManager
        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));
                }
            }
        }
コード例 #3
0
ファイル: SCValue.cs プロジェクト: treiduce/SCModManager
 public SCKeyValObject(SCValue key, SCValue value)
     : this(key, new SCToken(Tokens.Eq), value)
 {
 }
コード例 #4
0
ファイル: SCValue.cs プロジェクト: treiduce/SCModManager
 public SCKeyValObject(SCValue key, SCValue cmp, SCValue value)
 {
     Key   = key;
     Cmp   = cmp;
     Value = value;
 }
コード例 #5
0
ファイル: SCValue.cs プロジェクト: treiduce/SCModManager
 public void Add(SCValue key, SCValue cmp, SCValue value)
 {
     contents.Add(new SCKeyValObject(key, cmp, value));
 }
コード例 #6
0
ファイル: ParserImpl.cs プロジェクト: treiduce/SCModManager
 void PushNewObject(SCValue name)
 {
     _currentObjectStack.Push(new SCObject(name as SCIdentifier));
 }
コード例 #7
0
ファイル: ParserImpl.cs プロジェクト: treiduce/SCModManager
 void SetKeyValue(SCValue key, SCValue cmp, SCValue value)
 {
     _currentObjectStack.Peek().Add(key, cmp, value);
 }