예제 #1
0
        public bool IsMatch(Tokenizer tokenizer, out Token token)
        {
            int position = tokenizer.Index;

            if (tokenizer.EOS)
            {
                token = new EndOfFileToken {
                    Position = position
                };
                return(true);
            }

            using (ISnapshot snapshot = tokenizer.TakeSnapshot())
            {
                token = GetToken(tokenizer);

                if (token != null)
                {
                    token.Position = position;
                    snapshot.Commit();
                }

                return(token != null);
            }
        }
예제 #2
0
파일: SnapshotCache.cs 프로젝트: zhmkof/neo
 public override void Commit()
 {
     base.Commit();
     snapshot.Commit();
 }
예제 #3
0
 public void Commit()
 {
     Trie.Commit();
     snapshot.Commit();
 }
예제 #4
0
 public void Commit()
 {
     snapshot.Commit();
 }