| 1 | <?php | ||
| 7 | trait ReadonlyNodeTrait | ||
| 8 | { | ||
| 9 | use ChildNodeTrait; | ||
| 10 |     use ParentNodeTrait { | ||
| 11 | ParentNodeTrait::children as protected writableChildren; | ||
| 12 | } | ||
| 13 | |||
| 14 | private $readonlyCollection; | ||
| 15 | |||
| 16 | /** | ||
| 17 | * Returns child components. | ||
| 18 | * | ||
| 19 | * @return ReadonlyObjectCollection | ||
| 20 | */ | ||
| 21 | public function children() | ||
| 22 |     { | ||
| 23 |         if ($this->readonlyCollection === null) { | ||
| 24 | $this->readonlyCollection = new ReadonlyObjectCollection( | ||
| 25 | $this->writableChildren() | ||
|  | |||
| 26 | ); | ||
| 27 | } | ||
| 28 | |||
| 29 | return $this->readonlyCollection; | ||
| 30 | } | ||
| 31 | } | ||
| 32 | 
This check marks calls to methods that do not seem to exist on an object.
This is most likely the result of a method being renamed without all references to it being renamed likewise.