parser_interface.php | ||||
|
||||
Coverage | ||||||||||
Classes | Functions / Methods | Lines | ||||||||
Total |
|
100.00% | 1 / 1 |
|
100.00% | 4 / 4 | CRAP |
|
100.00% | 21 / 21 |
ParserInterface |
|
100.00% | 1 / 1 |
|
100.00% | 4 / 4 | 7 |
|
100.00% | 21 / 21 |
__construct() |
|
100.00% | 1 / 1 | 1 |
|
100.00% | 5 / 5 | |||
processSpecificDocblockTags($docblock_tags) |
|
100.00% | 1 / 1 | 1 |
|
100.00% | 2 / 2 | |||
treeWalk($function_name, ParserItem $parent_item = null) |
|
100.00% | 1 / 1 | 2 |
|
100.00% | 5 / 5 | |||
dump() |
|
100.00% | 1 / 1 | 3 |
|
100.00% | 9 / 9 |
1 : <?php 2 : /* 3 : Copyright 2008 Josh Heidenreich 4 : 5 : This file is part of Pelzini. 6 : 7 : Pelzini is free software: you can redistribute it and/or modify 8 : it under the terms of the GNU General Public License as published by 9 : the Free Software Foundation, either version 3 of the License, or 10 : (at your option) any later version. 11 : 12 : Pelzini is distributed in the hope that it will be useful, 13 : but WITHOUT ANY WARRANTY; without even the implied warranty of 14 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 : GNU General Public License for more details. 16 : 17 : You should have received a copy of the GNU General Public License 18 : along with Pelzini. If not, see <http://www.gnu.org/licenses/>. 19 : */ 20 : 21 : /** 22 : * Contains the {@link ParserInterface} class 23 : * 24 : * @package Parser model 25 : * @author Josh Heidenreich 26 : * @since 0.1 27 : **/ 28 : 29 : /** 30 : * Represents an interface 31 : **/ 32 : class ParserInterface extends CodeParserItem { 33 : public $name; 34 : public $functions; 35 : public $extends; 36 : public $visibility; 37 : public $description; 38 : 39 : public function __construct() 40 : { 41 10 : parent::__construct(); 42 : 43 10 : $this->functions = array (); 44 10 : $this->variables = array (); 45 10 : $this->visibility = 'public'; 46 10 : } 47 : 48 : 49 : /** 50 : * Processes Javadoc tags that are specific to this PaserItem 51 : **/ 52 : protected function processSpecificDocblockTags($docblock_tags) 53 : { 54 10 : $this->description = htmlify_text(@$docblock_tags['@summary']); 55 10 : } 56 : 57 : 58 : /** 59 : * Cascades Docblock tags into the children that do not have any tags, and then 60 : * runs processTags() for all of the children items. 61 : **/ 62 : public function treeWalk($function_name, ParserItem $parent_item = null) 63 : { 64 10 : call_user_func($function_name, $this, $parent_item); 65 : 66 10 : foreach ($this->functions as $item) { 67 4 : $item->treeWalk($function_name, $this); 68 10 : } 69 10 : } 70 : 71 : 72 : /** 73 : * Debugging use only 74 : **/ 75 : public function dump() 76 : { 77 2 : echo '<div style="border: 1px orange solid;">'; 78 2 : echo $this->visibility . ' '; 79 2 : echo $this->name; 80 2 : echo '<br>' . $this->description; 81 2 : foreach ($this->variables as $a) $a->dump(); 82 2 : foreach ($this->functions as $a) $a->dump(); 83 : 84 2 : parent::dump(); 85 2 : echo '</div>'; 86 2 : } 87 : 88 : 89 : } 90 : 91 : 92 : ?> |
Generated by PHP_CodeCoverage 1.1.2 using PHP 5.4.39-0+deb7u2 and PHPUnit 3.6.10 at Fri Sep 11 11:35:19 WIT 2015. |