diff --git a/composer.json b/composer.json
index b485492f524d630f4fed69773c684873a80b904a..0e255c4d0f8e0ce36a83c55ae466290f402eeffa 100644
--- a/composer.json
+++ b/composer.json
@@ -27,8 +27,8 @@
 		"php": "^8.0",
 		"ext-tokenizer": "*",
 		"nette/finder": "^2.5",
-		"nette/php-generator": "^3.6.1",
-		"symfony/console": "^5.0",
+		"nette/php-generator": "^4.0.1",
+		"symfony/console": "^6.0",
 		"symfony/filesystem": "^6.0"
 	},
 	"require-dev": {
diff --git a/src/ClassGenerator.php b/src/ClassGenerator.php
index 4aef346ebbb26b1724a99136da141c54c08ec0ee..1eaf498e22997ea1b214f8e7df8959bbca286155 100644
--- a/src/ClassGenerator.php
+++ b/src/ClassGenerator.php
@@ -82,7 +82,7 @@ final class ClassGenerator
 		$file = Code\PhpFile::fromCode($classFileContent);
 		$matchedNamespace = null;
 		foreach ($file->getNamespaces() as $namespace) {
-			$doesNamespaceContainDesiredClass = \count(\array_filter($namespace->getClasses(), fn(Code\ClassType $classType): bool => $classType->getName() === $className)) === 1;
+			$doesNamespaceContainDesiredClass = \count(\array_filter($namespace->getClasses(), fn(Code\ClassLike $classType): bool => $classType->getName() === $className)) === 1;
 			if ($doesNamespaceContainDesiredClass) {
 				$matchedNamespace = $namespace;
 				break;
@@ -90,9 +90,12 @@ final class ClassGenerator
 		}
 		\assert($matchedNamespace !== null);
 
+		$classType = Code\ClassType::from($classFqn, withBodies: true);
+		\assert($classType instanceof Code\ClassType);
+
 		return ClassInNamespace::from(
 			$matchedNamespace,
-			Code\ClassType::withBodiesFrom($classFqn),
+			$classType,
 		);
 	}
 
diff --git a/src/DefinitionFilesLocator.php b/src/DefinitionFilesLocator.php
index 36f209966e19c729ec6f5420a0072888c61f0e57..f876be7df4d2ef6fc3773febbc8427429ee6094f 100644
--- a/src/DefinitionFilesLocator.php
+++ b/src/DefinitionFilesLocator.php
@@ -21,6 +21,7 @@ final class DefinitionFilesLocator
 		if (\is_dir($path)) {
 			$files = Finder::findFiles($searchPattern)->from($path);
 			foreach ($files as $file) {
+				\assert($file instanceof \SplFileInfo);
 				$result[] = DefinitionFile::from($file->getPathname());
 			}
 		} elseif (\is_file($path)) {