示例#1
0
 public ReaderContext(Stream stream)
 {
     this.Reader = new ProtoReader(stream, TypeModel.Create(), null);
     this.ReadingAction = ReadingActionType.ReadHeader;
     this.Root = new VisitingNode(NoParent);
     this.ParentVisitingNode = this.Root;
 }
示例#2
0
        public void AddObject(int index)
        {
            VisitingNode obj;

            if (!this.ParentVisitingNode.Children.TryGetValue(index, out obj))
            {
                obj = new VisitingNode(this.ParentVisitingNode);

                this.ParentVisitingNode.Children.Add(index, obj);
            }
            else
            {
                ++obj.VisitCount;
            }
        }
示例#3
0
文件: VisitingNode.cs 项目: r3c/verse
 public VisitingNode(VisitingNode parent)
 {
     this.VisitCount = 1;
     this.Children = new Dictionary<int, VisitingNode>();
     this.Parent = parent;
 }
示例#4
0
 public void LeaveObject()
 {
     this.ParentVisitingNode.Children.Clear();
     this.ParentVisitingNode = this.ParentVisitingNode.Parent;
 }