예제 #1
0
            public void Visit(object a_object)
            {
                QCandidate candidate = (QCandidate)a_object;

                if (candidate.Include())
                {
                    TreeInt     ids    = new TreeInt(candidate._key);
                    ByRef       idsNew = new ByRef();
                    IEnumerator itPath = executionPath.GetEnumerator();
                    while (itPath.MoveNext())
                    {
                        idsNew.value = null;
                        string fieldName = (string)(itPath.Current);
                        if (ids != null)
                        {
                            ids.Traverse(new _IVisitor4_385(this, stream, fieldName, idsNew));
                        }
                        ids = (TreeInt)((TreeInt)idsNew.value);
                    }
                    if (ids != null)
                    {
                        ids.Traverse(new _IVisitor4_406(result));
                    }
                }
            }
예제 #2
0
        protected virtual void AssertTreeInt(int[] expectedValues, TreeInt treeInt)
        {
            ExpectingVisitor visitor = ExpectingVisitor.CreateExpectingVisitor(expectedValues
                                                                               );

            treeInt.Traverse(new _IVisitor4_113(visitor));
            visitor.AssertExpectations();
        }
예제 #3
0
            public void Visit(int id)
            {
                TreeInt     ids    = new TreeInt(id);
                ByRef       idsNew = new ByRef();
                IEnumerator itPath = _executionPath.GetEnumerator();

                while (itPath.MoveNext())
                {
                    idsNew.value = null;
                    string fieldName = (string)(itPath.Current);
                    ids.Traverse(new _IVisitor4_508(this, fieldName, idsNew));
                    ids = (TreeInt)((TreeInt)idsNew.value);
                    if (ids == null)
                    {
                        return;
                    }
                }
                ids.Traverse(new _IVisitor4_529(this));
            }
예제 #4
0
파일: QQueryBase.cs 프로젝트: masroore/db4o
 public void Visit(object a_object)
 {
     var candidate = (QCandidate) a_object;
     if (candidate.Include())
     {
         var ids = new TreeInt(candidate._key);
         var idsNew = new ByRef();
         var itPath = executionPath.GetEnumerator();
         while (itPath.MoveNext())
         {
             idsNew.value = null;
             var fieldName = (string) (itPath.Current);
             if (ids != null)
             {
                 ids.Traverse(new _IVisitor4_385(this, stream, fieldName, idsNew));
             }
             ids = (TreeInt) idsNew.value;
         }
         if (ids != null)
         {
             ids.Traverse(new _IVisitor4_406(result));
         }
     }
 }