Lines Matching refs:nodes
95 private $nodes = NULL; variable in Maker
125 $this->nodes = array();
144 $this->nodes[$name] = new MakeNode($name, $file->is_target());
148 while ((list($name, $node) = each($this->nodes)) != false) {
151 if (!isset($this->nodes[$dep])) {
164 $this->nodes[$dep] = $dep_node;
166 else $dep_node = $this->nodes[$dep];
170 foreach ($this->nodes as $node) $node->find_affected($this->errors);
173 array_keys($this->nodes));
175 $this->nodes[$name]->mark_invalid($this->errors);
178 $nodes = array();
180 foreach ($this->nodes as $name => $node)
182 $nodes[$name] = new MakeNode($name, $node->is_target());
183 foreach ($nodes as $name => $node) {
185 foreach ($deps as $dep) $nodes[$dep]->link($node);
187 $this->nodes = $nodes;
196 $node = $this->nodes[$change];
204 $nodes = array();
205 foreach ($this->nodes as $name => $node)
207 $nodes[$name] = $node->ref;
209 if (!$nodes) return array();
210 $root->unref($nodes);
211 asort($nodes);
212 $this->make($nodes);
220 return array_keys($nodes);
224 private function make($nodes) { argument
227 while ($nodes) {
228 reset($nodes);
229 $name = key($nodes);
230 $ref = current($nodes);
231 $node = $this->nodes[$name];
233 unset($nodes[$name]);
237 unset($nodes[$name]);
245 if ($this->nodes[$dep]->ref !== -1 ) {
251 $node->unref($nodes);
257 $node->unref($nodes);
262 $this->wait($nodes);
266 $this->wait($nodes);
269 wiki_debug('nodes', $nodes);
277 private function wait(&$nodes) { argument
288 $node = $this->nodes[$name];
289 $node->unref($nodes);
325 foreach ($this->nodes as $node)