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";
43 if (in_array(T_PRIVATE, $flags)) {
44 $var->type = "Private";
48 if (in_array(T_PROTECTED, $flags)) {
49 $var->type = "Protected";
53 if (in_array(T_STATIC, $flags)) {
59 PHP_CodeDoc_Parser_Var::_store_tokens($var);
61 if ($v = PHP_CodeDoc_Parser_Comment::parse()) {
62 $var->description = $v;
64 $this->pos = $startpos;
71 remember the tokens for a var.. (for printing later)
73 function _store_tokens(&$var) {
75 $var->tokenStart=$this->pos;
81 while ($pos < $this->total) {
82 $v = $this->tokens[$pos];
84 if (trim($v) == ";") {
85 $var->tokenEnd = $pos;
90 $var->tokens[$n] = $v;
94 $var->tokenEnd = $pos;