7 var parser - very simple!
8 uses parent (master codedoc object) which contains the active tokens
13 class PHP_CodeDoc_Parser_Var {
16 var $var; // current return value;
17 function read ($inclass) {
21 if ($c = PHP_CodeDoc_Parser_Var::parse()) {
23 $c->activeFile = $this->activeFile;
24 $this->classes[$this->_active_class]->Attributes[$c->name] = $c;
25 $this->classes[$this->_active_class]->Attributes[$c->name]->class =
26 $this->classes[$this->_active_class]->name;
32 { // read var declares in a class
33 $flags= array($this->look_nws(-1), $this->look_nws(-2), $this->look_nws(-3), $this->look_nws(-4));
36 $startpos = $this->pos;
38 $var = new PHP_CodeDoc_Data_Var;
39 $var->name = $this->tokens[$this->pos+2][1];
40 $var->type = "Public";
42 if (in_array(T_PRIVATE, $flags)) {
43 $method->type = "Private";
44 $method ->isPublic = 0;
45 $method->visibility = 0;
47 if (in_array(T_PROTECTED, $flags)) {
48 $method->type = "Protected";
49 $method ->isPublic = 0;
50 $method->visibility = 0;
54 PHP_CodeDoc_Parser_Var::_store_tokens($var);
56 if ($v = PHP_CodeDoc_Parser_Comment::parse()) {
57 $var->description = $v;
59 $this->pos = $startpos;
66 remember the tokens for a var.. (for printing later)
68 function _store_tokens(&$var) {
70 $var->tokenStart=$this->pos;
76 while ($pos < $this->total) {
77 $v = $this->tokens[$pos];
79 if (trim($v) == ";") {
80 $var->tokenEnd = $pos;
85 $var->tokens[$n] = $v;
89 $var->tokenEnd = $pos;