require($identifier); if ($includeTree instanceof RootInclude) { return $includeTree; } } $includeTree = new RootInclude(); $includeNode = new StringInclude(); $includeNode->setName('[string] ' . $name); $includeNode->setLineStream($tokenizer->tokenize($typoScriptString)); $this->treeFromTokenStreamBuilder->buildTree($includeNode, 'other', $tokenizer); $includeTree->addChild($includeNode); $cache?->set($identifier, $this->prepareTreeForCache($includeTree)); return $includeTree; } private function prepareTreeForCache(RootInclude $node): string { return 'return unserialize(\'' . addcslashes(serialize($node), '\'\\') . '\');'; } }