Ejemplo n.º 1
0
        internal TestPathTree Add(TestHost host)
        {
            var next = new TestPathTree(Builder, host, null);

            if (Inner != null)
            {
                throw new InternalErrorException();
            }
            Inner      = next;
            next.Outer = this;
            return(next);
        }
Ejemplo n.º 2
0
        protected void Resolve()
        {
            if (resolved || resolving)
            {
                return;
            }

            resolving = true;

            ResolveMembers();

            TestPathTree parentTree = null;

            if (Parent != null)
            {
                parentTree = Parent.Tree;
            }

            children = CreateChildren().ToList();

            host = CreateHost();

            var parameterHosts = new LinkedList <TestHost> ();

            tree = treeRoot = new TestPathTree(this, host, parentTree);

            foreach (var current in CreateParameterHosts())
            {
                parameterHosts.AddFirst(current);
            }

            var parameterIter = parameterHosts.Last;

            while (parameterIter != null)
            {
                tree          = tree.Add(parameterIter.Value);
                parameterIter = parameterIter.Previous;
            }

            resolvedTree = true;

            foreach (var child in children)
            {
                child.Resolve();
            }

            resolvedChildren = true;

            resolved = true;
        }
Ejemplo n.º 3
0
 public TestPathTreeNode(TestPathTree tree, TestPath path)
 {
     Tree = tree;
     Path = path;
     Node = (TestNodeInternal)path.Node;
 }
Ejemplo n.º 4
0
 public TestPathTreeNode(TestPathTree tree, TestPath path, TestNodeInternal node)
 {
     Tree = tree;
     Path = path;
     Node = node;
 }
Ejemplo n.º 5
0
 internal TestPathTree(TestBuilder builder, TestHost host, TestPathTree parent)
 {
     Builder = builder;
     Host    = host;
     Parent  = parent;
 }
Ejemplo n.º 6
0
 public TestPathNode(TestPathTree tree, TestPath path)
 {
     Tree = tree;
     Path = path;
 }