_name = $name; parent::__construct($ownerGrammar); } public function get(): PatternList|Pattern|null { if ($this->object === false) { return null; } elseif ($this->object !== null) { return $this->object; } $grammar = $this->_ownerGrammar->get(); if (!isset($grammar->repository)) { die(var_export($grammar)); } if (!isset($grammar->repository[$this->name])) { $this->object = false; return null; } $this->object = $grammar->repository[$this->name]; return $this->object; } }