source: Dev/trunk/src/client/util/docscripts/lib/parser/DojoParameters.php

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 1.3 KB
Line 
1<?php
2
3require_once('DojoParameter.php');
4require_once('DojoBlock.php');
5
6class DojoParameters extends DojoBlock
7{
8  private $object = 'DojoParameters';
9
10  private $parameters = array();
11  protected $terminator = ')';
12
13  public function __construct($package, $line_number = false, $position = false){
14    parent::__construct($package, $line_number, $position);
15  }
16
17  public function destroy() {
18    array_walk($this->parameters, 'destroy_all');
19    unset($this->parameters);
20  }
21
22  public function build(){
23    if (!$this->start) {
24      die("DojoParameters->build() used before setting a start position");
25    }
26
27    $code = $this->package->getCode();
28    $end = array($this->start[0], $this->start[1]);
29
30    do {
31      $parameter = new DojoParameter($this->package, $end[0], $end[1], $this->terminator);
32      $end = $parameter->build();
33
34      $this->parameters[] = $parameter;
35    } while ($code[$end[0]]{$end[1]} != $this->terminator);
36
37    $this->setEnd($end[0], $end[1]);
38    return $end;
39  }
40
41  public function getParameter($pos){
42    if ($this->parameters && !empty($this->parameters[$pos])) {
43      return $this->parameters[$pos];
44    }
45    else {
46      return new DojoParameter($this->package);
47    }
48  }
49
50  public function getParameters(){
51    if ($this->parameters) {
52      return $this->parameters;
53    }
54    else{
55      return array();
56    }
57  }
58}
59
60?>
Note: See TracBrowser for help on using the repository browser.