[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Replacing Visitor 5 * 6 * @package Less 7 * @subpackage visitor 8 */ 9 class Less_VisitorReplacing extends Less_Visitor{ 10 11 public function visitObj( $node ){ 12 13 $funcName = 'visit'.$node->type; 14 if( isset($this->_visitFnCache[$funcName]) ){ 15 16 $visitDeeper = true; 17 $node = $this->$funcName( $node, $visitDeeper ); 18 19 if( $node ){ 20 if( $visitDeeper && is_object($node) ){ 21 $node->accept($this); 22 } 23 24 $funcName = $funcName . "Out"; 25 if( isset($this->_visitFnCache[$funcName]) ){ 26 $this->$funcName( $node ); 27 } 28 } 29 30 }else{ 31 $node->accept($this); 32 } 33 34 return $node; 35 } 36 37 public function visitArray( $nodes ){ 38 39 $newNodes = array(); 40 foreach($nodes as $node){ 41 $evald = $this->visitObj($node); 42 if( $evald ){ 43 if( is_array($evald) ){ 44 self::flatten($evald,$newNodes); 45 }else{ 46 $newNodes[] = $evald; 47 } 48 } 49 } 50 return $newNodes; 51 } 52 53 public function flatten( $arr, &$out ){ 54 55 foreach($arr as $item){ 56 if( !is_array($item) ){ 57 $out[] = $item; 58 continue; 59 } 60 61 foreach($item as $nestedItem){ 62 if( is_array($nestedItem) ){ 63 self::flatten( $nestedItem, $out); 64 }else{ 65 $out[] = $nestedItem; 66 } 67 } 68 } 69 70 return $out; 71 } 72 73 } 74 75
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |